Software-Architekt & -Entwickler (Refactoring, Prozesssteuerung, Scheduling, Multithreading, breites fachlich-technisches...
- Verfügbarkeit einsehen
- 0 Referenzen
- 70€/Stunde
- 78647 Trosssingen
- nicht angegeben
- de | en
- 22.04.2023
Kurzvorstellung
Keine Kurzvorstellung angegeben.
Qualifikationen
Über mich
Verfügbarkeit: ab 07.02.2010 zu 100%
Fachlicher Schwerpunkt
--------------------------------------------------------
Software-Architekt & -Entwickler (Refactoring, Prozesssteuerung, Scheduling, Multithreading, breites fachlich-technisches Wissen,
Feuerwehreinsätze, Re/Reverse-Engineering) - meine Schwerpunkte C++, C, C#, TMP, Boost, Generic, OOP-Design
Position
--------------------------------------------------------
Software-Entwicklung / Programmierung
Beratung / Consulting
Qualitätsmanagement / Qualitätssicherung / Test
Engineering / IT-nahe Ingenieurdienstleistungen
Spezialist für "Feuerwehreinsätze" in heterogenen Umfeldern (Sprachen, Technologien, Hardware) auf Grund breiter fachlicher Basis und umfangreicher Projekterfahrung. Ein besonderer Erfahrungsschatz ist im Bereich von nachhaltigem Refactoring und Restrukturierung von gewachsenen Projekten vorhanden.
Ich bin ein Starker Teamplayer- und builder, Einführung von Pair-Programming und Software-Technologien, Methodiken in den Softwareentwicklungsprozess.
weiterhin haben ich ein sehr grosses Interesse an jeglicher Automatisierung von Entwicklungsprozessen d.h. die Implementierung von Test- und Buildsystemen
Code- und Konfigurationsgeneratoren.
Mein früher Einstieg in die Software-Entwicklung macht mich nach ca. 17 Jahren aktiver Softwareentwicklung zu einem ausgesprochenem Profi.
Über meine beruflichen Bezug beschäftige ich mich private mit den Themen: Programmiersprachendesign, Entwurfsmethoden und Reverse-Engineering.
Ausbildung
--------------------------------------------------------
08/1998 - 08/2001
Ausbildung zum Fachinformatiker Anwendungsentwicklung
9/2004 - 06/2005
Fachabitur Technik
10/2005 - 05/2006
Studium Software-Technik an der Fachhochschule Technik in Esslingen
Das Studium wurde auf Grund einer spannenden beruflichen
Herausforderung in der Industrie,
die schließlich zu meiner selbstständigkeit führte, beendet.
08/2010 Gründung eines Software-Unternehmens
Hardware
--------------------------------------------------------
embedded Systeme: x86 Assembler und Paradigm C++
Emulatoren: Dosbox als Host für 16Bit Code Portierung, VMWare, VirtualPC
Industrie-Roboter: Anbindung Handlingsystem an Fanuc Roboter
Messgeräte: Anbindung von Vision-Systemen und Laser-Mess-Systemen, HPLC-Laborgerät
Mikrocontroller: 80535, 8051 kleinst Datenerfassung
PC: Entwicklung und Anwendung
Sensoren: Prozesssteuerung über Messwerte wie Temperatur, ph-Wert, Trenn-Schichten
SPS: BC9000, S7, Beckhoff - Anbindung über ADS, S7 - Deltalogic AGLink
SUN: Solaris als Server für Warenwirtschaftssystem
Betriebssysteme
--------------------------------------------------------
MS-DOS: Entwicklung & Anwendung
SUN OS, Solaris: Anwendung
Unix: Linux, Entwicklung (gcc) & Anwendung
Windows: Entwicklung & Anwendung
Windows CE: Entwicklung
Programmiersprachen
--------------------------------------------------------
Ada: Grundkenntnisse
Assembler: x86, Sehr gut, 16bit Reverse-Engineeering
C: Experte
C#: Sehr gut
C++: Experte
CodeWarrior: Grundkenntnisse
Delphi: Experte
Imake, GNU-Make: Gut
Java: Sehr gut
Maschinensprachen: x86, sehr gut
Pascal: Experte
Perl: Gut
PHP: Sehr gut
PL/SQL: Sehr gut
Qt: Gut
Tcl/Tk: Gut
4gl: Gut
Sonstige
- NC-Programmierung/G-Code
- Maple
Bibliotheken/Frameworks/APIs
--------------------------------------------------------
- Qt 4
- STL
- Boost
- MFC
- Steema TeeChart (für MFC)
- VCL
- WinAPI
- .NET 1.0, 4.0
- OpenGL
- Detours
- SQLAPI
- Oracle OCI
- S7 Deltalogic AGLink, Beckhoff ADS
- nHibernate
- libmysql
- libsdl
Dokumentbeschreibungssprachen
--------------------------------------------------------
- XML
- (X)HTML & CSS
- Tex
Datenbanken
--------------------------------------------------------
Access: Sehr gut
BDE: Gut
DB2: Gut
Informix: Grundkenntnisse
ISAM: Grundkenntnisse
MS SQL Server: Sehr gut
MySQL: Sehr gut
ODBC: Gut
Oracle: Gut
Postgres: Gut
Proprietäre: DB Berkeley DB, gut
SQL: Experte
Sybase: Gut
Datenkommunikation
--------------------------------------------------------
Bus: Profibus: Sinumerik 840D CNC Protokollanalyse, Modbus Implementation Beckhoff BC9000
Ethernet: Grundkenntnisse
Internet, Intranet: Gut
ISO/OSI: Grundkenntnisse
PC-Anywhere: Gut
Proprietäre Protokolle: S7(Simatic) und Sinumerik Protokoll
RS232: Sehr gut, Anbindung diverse Messgeräte im Labor- und Produktionsumfeld, Testgeräte:
TCP/IP: Gut
Windows Netzwerk: Grundkenntnisse
Winsock: Gut - Anbindung von diversen Geräten
Analyse des undokumentieren/properitären Profibus Protokolls einer Sinumerik 840D Powerline CNC, um in Multithreading-Umgebung ein besseres, robusteres (Fehler)Verhalten zu erreichen.
Dazu gehörte:
- Entwicklung von Win-API/Dll Tracern auf Grundlage der Microsoft Detours-Library und C++
- Komplette Analyse der Datenkommunikation innerhalb des HMI Advanced Systems
- Binary-Protokollerstellung des Busverkehrs oberhalb der Treiberschicht (s7onlinx.dll)
- Tracer für die DDE-Kommunikation des Sinumerik HMI Advanced Servers
- Entwicklung von C++/PHP basierter Tools zur Patternanalyse in den Binärprotokollen
- Anbindung der CNC unter Umgehung der Siemenseigenene Software-Schnittstellen und direkte Kommunikation mit einem CP5611-Profibus Geräte-Treiber
Das gewonnen Wissen wurde in eine kommerzielle Kommunikationsbiliothek eines befreundeten Unternehmens integriert.
Design/Entwicklung/Konstruktion:
--------------------------------------------------------
MegaCAD Grundkenntnisse
Berechnung/Simulation/Versuch/Validierung
--------------------------------------------------------
3D-Simulation von Maschinenkinematik
Abtragssimulation bei zerspanender Bearbeitung
2D/3D DXF-Formate - als Ausgabeformat für Pfadbewegungen und Testhilfe bei 3D-Nutenberechnungen/ueberlagerungen, Kinematik-Simulation
Produkte/Standards/Erfahrungen
--------------------------------------------------------
Methodiken
- Objektorientierte Analyse (OOA)
- Objektorientiertes Design (OOD)
- Objektorientierte Programmierung (OOP)
- Methoden der agilen Entwicklung (XP, Scrum)
- UML2
Tools
IDEs
- Microsoft Visual Studio 5/6/2003/2005/2008/2010
- Microsoft Visual C++ 1.5
- Borland C++ Builder 3/4/5
- Borland C++ 3.1
- Turbo Pascal 3/5/7
- JBuilder
- JDK 1.2
- Borland Delphi 5/7
- Turbo Assembler 3/5
- gcc/mingw-gcc
- make
Revision Control Systeme
- Subversion (svn)
- Visual Source Safe 6.0 (VSS) - Einbindung in automatisches Buildsystem
- CVS - gescriptet ueber Shell-Scripts
- AccuRev
- Perforce
- Code Co-Op
Hardware-Kommunikation
-RS232, Profibus
-Beckhoff (ADS, Modbus), S7 Deltalogic AGLink
Sonstige
- BugZilla
- Altova XML Spy
- Visual Paradigm
- Araxis Merge
- IDA Freeware (DOS 16-Bit Reverse Engineering)
- Meshlab für 3D-Punktewolken/Meshes
- 2D/3D DXF-Tools
- Parasolid
Branchen
--------------------------------------------------------
Maschinenbau
Sondermaschinenbau
Anlagenbau
Robotersteuerung
Automatisierungstechnik
Laborautomation
Chemie
Forschung & Entwicklung
Softwarehersteller
Projekte
--------------------------------------------------------
Zeitraum: 12/2010 - 1/2011
Branche: Kommunikationslösungen im Automationsbereich
Projekt: Fehlereingrenzung im Zusammenhang mit Hard- und Software-Kommunikationskomponente im Simatic-/Sinumerik-Umfeld
Projektmetrik:
Umfang: 20+ Personenjahre
Teamgröße: 6
Meine Aufgaben:
-Unterstützung der Entwicklungsleitung bei Strategieentwicklung für Fehleraufdeckung/eingrenzung
-Analysedaten-Migration/Toolchain für weitere Analysen
-Reverse-Engineering HMI-Advanced Protokollformate
Technologien:
Sprachen:
- C++ für Test-Tools
- PHP für Loganalysen und Datenmigration
Kommunikation:
- Ethernet
- Profibus
- DDE
Tools:
- Sinumerik HMI Advanced
- SinuCOM NC Tracer
- Softing Profibus-Analyser
- interne Logging-Software des Kunden
Platform:
- NCU 840D Powerline
- Windows XP
-------------
Zeitraum: 11/2010 - 12/2010
Projekt:
Produktentwicklung
Softwaretool mit den Features Analyse, Recover und Extrahierung für ein properitäres Archivierungssystem.
Dabei wurde u.a. ein Checksummen-Algorithmus mittels statistischer Methoden analysiert und implementiert.
Ermöglicht Batchprüfung und Recovery der Archivstruktur und Detail-Prüfung archivierter Daten.
Dazu gehörte die Analyse des Archivierungsformates Abschätzung rettbarer Zustände und die Entwicklung einer intuitiven Oberfläche zur leichten Handhabung von vielen Archiven und deren Inhalt.
Teamgröße: 2
Meine Aufgaben:
-Analyse des properitären Archivformates und Entwicklung
-Entwicklung einer Testumgebung für automatische Extractions/Prüf-Tests
-Design der Oberfläche.
verwendete Technologien
Sprache:
-C#/WPF - Basissprache und GUI
-C++ für die ersten Prototypen
-PHP für Analyse Extraktionslogs
Tools:
-HxD Hexeditor
-Diff Tools
weitere Besonderheiten
-Multithreading in Extraktion und Oberfläche
-------------
Zeitraum: 10/2010 - 11/2010
Branche: Automation
Projekt: Erstellung einer Beobachtungs- und Logging-Applikation für eine Produktionsanlage
Beschreibung:
Konsolidierung der Überwachung einer Produktionsanlage (z.B. Betriebsmittel- und Rohstoffverbrauch, Produktionskennzahlen), die bisher durch diverse unabhängige Software-Pakete durchgeführt wurde. Ersetzt wurde die bisher genutzte Software durch eine Lösung mit einer Client-Server-Architektur.
Folgende Aufgaben werden durch die neue Software abgedeckt:
* Erfassung von Parametern und Kennzahlen von Siemens S7 PLCs
* Betriebsdatenerfassung (BDE)-Rückmeldung an PPS-System
* Logging in MS SQL Server
* Visualisierung der erfassten Daten
Projektmetrik:
Laufzeit: 1,5 Monate
Umfang: 4 Personenmonate
Position: Architekt & Entwickler
Meine Aufgaben:
-Entwurf einer durch Plugins erweiterbare Server-Umgebung die als Basis für zukünftige Projekte des Kunden verwendet wird.
-Analyse eines bestehenden Kunden-Projektes und Umsetzung in die neue Architektur.
Teamgröße: 4
Technologien:
Sprachen:
- C#
Bibliotheken/Frameworks/APIs:
- .Net 4.0
- WPF
- Silverlight
- WCF
- ADO.NET
- ACCON-AGLink
- log4net
Datenbanken:
- Microsoft SQL Server 2008 Express
- SQL Anywhere 9
Tools:
- Visual Studio 2010
- Subversion, TortoiseSvn
Sonstiges:
- XML (Konfiguration des Servers)
- EVOlite PPS-System
Besonderheiten:
- Analyse der aktuellen Lösung und Entwicklung einer Migrationsstrategie
- SOA
- Multithreading
- PLC/SPS
Plattform:
- Windows 7
-------------
Zeitraum: 09/2010
Branche: Software-Systemhaus
Projekt: Neuentwicklung, Organisations-, Facility- und Zutritts-Management
Beschreibung:
Entwicklung einer Web-basierten Lösung mit SOA. Die Kommunikationsschicht wurde mit WCF umgesetzt. Implementiert wurde mit C# unter Visual Studio 2008 und dann Visual Studio 2010. Für das User Interface wurden einerseits HTML, CSS und Javascript sowie andererseits Silverlight eingesetzt. Als Webserver kam IIS 6 und 7 zum Einsatz. Server Betriebssysteme waren Windows 2003 und Windows 2008. Konsequentes Unit-Testing mit dem Microsoft UnitTest-Framework.
Projektmetrik:
Laufzeit: 1 Monat
Umfang: 5 Personenjahre
Position: Architektur-Beratung/Entwickler
Meine Aufgaben:
- Review der Architektur im Bereich Datenfluss und Datenbank-Anbindung
- Konzepte für die Umsetzung von komplexen Abfrageszenarien (Business-Logik an die Datenbank) und deren Realisierung mit nHibernate
- Erstellung von Business-Logik
Teamgröße: 6
Technologien:
Sprachen:
- C#
Bibliotheken/Frameworks/APIs:
- .NET 3.5, .NET 4.0
Kommunikation:
- SOAP
- WCF
Datenbanken:
- MS SQL Server 2008
- nHibernate
- SQL
Tools:
- Visual Studio 2008 & 2010
- Subversion
- TFS 2010
Sonstiges:
- XML
- IIS 6, 7
- Internet Explorer 6, 7
- WWF
- KWD
- Enterprise Library, Unity
- T4
Besonderheiten:
- SOA
- Dependency injection
- Code-Generierung (C#)
- Unit-Tests
Plattform:
Windows Vista, Windows 7, Windows Server 2003, Windows Server 2008
-------------
Zeitraum: 08/2010
Branche: Automation
Projekt: Erstellung eines Prototyps für die Kernfunktionalität eines Prozessüberwachungs- und -steuerungs-Frameworks inkl. Hardware-Anbindung und Demo-UI
Beschreibung:
Ziel des Frameworks ist die Bereitstellung einer Client-Server-Architektur, die es ermöglicht, eine beliebige Anzahl von Systemen (z.B. PLC, SAP-System, Datenbank, Anwendung, ...) über eine einheitliche Schnittstelle zu überwachen, zu steuern und zu vernetzen. Dabei ist eine Hohe Skalierbarkeit bezüglich der Menge der gesteuerten Systeme essentiell.
Für diese Aufgabenstellung musste eine grundlegende Architektur entworfen werden und ein Proof of concept-Prototyp erstellt werden, der einen vertikalen Durchstich durch das System darstellt (vom UI bis zur Hardware).
Projektmetrik:
Laufzeit: 1 Monate
Umfang: 2 Personenmonate
Position: Architekt & Entwickler
Teamgröße: 2
Technologien:
Sprachen:
- C#
Bibliotheken/Frameworks/APIs:
- .Net 4.0
- WPF
- ACCON-AGLink
Datenbanken:
- Microsoft SQL Server 2008 Express
Tools:
- Visual Studio 2010
Besonderheiten:
- Analyse der Anforderung
- Analyse der abzulösenden Software
- Entwurf der Architektur
- Multithreading
- Überwachung und Steuerung u.a. von Siemens S7
Plattform:
- Windows 7
-------------
Projekte aus Berufserfahrung
Zeitraum: 01/2007 - 07/2010
Branche: Maschinenbau, Sondermaschinen
Projekt: Neuentwicklung Anlagensteuerungs-Framework
Beschreibung:
Die Kernfunktionaliät der Software ist die Erzeugung von NC-Code für 5- und 6-achsige CNC-Maschinen (mit Siemens Sinumerik 840D und Siemens S7). Auf der Bedienerseite sind die Anlagen mit einem Industrie-PC (PCU 50) mit Windows Embedded-Betriebssystem ausgestattet. Anwendung findet die Software ebenso auf externen Arbeitsplatz-PCs zur Arbeitsvorbereitung und zur Simulation.
An die Software werden höchste Ansprüche an Stabilität, Usability und Genauigkeit gestellt.
Um das Kernprodukt zur NC-Code-Erzeugung mit ca. 200 Plug-Ins existiert ein breites Umfeld von Tools. Darunter sind unter anderem eine Datenbankanwendung zur Verwaltung der Werkzeuge, ein 2,5D-CAD-System, das Kinematikdefinitionsmodul, ein NC-Code-Editor und diverse Konfigurationsprogramme.
Projektmetrik:
Laufzeit: 3 Jahre
Umfang: 10 Personenjahre
Position: Architekt/Entwickler
Meine Hauptaufgabe bestand in der Vorgabe und Umsetzung der Architektur und des Designs des Kernsystems.
dazu gehörte:
-Ein Objekt-Hierachie Konzept für das gesamte System
-Grundlagen für die darauf aufbauende Datenhaltung, Inner-Referenzierung, allgemeine Import/Export-Strategien
-DSL-Sprachen Konzept, Parser und Generatoren
-Ein Querysystem für Informationsgewinnung in der Objekt-Hierachie
-Konzepte für die Visualisierung des System und des daraus generierte UIs
-Das Design für Ausführung/Prozesssteuerung und Parallelisierung/Multithreading und die Koordination der bei der Ausführung beteiligten Hard- und Software-Systeme
-die Anleitung beteiligten Entwickler.
-Performance-Optierungen im Bereich Abtragssimulation
Ein weiterer Schwerpunkt war die Bereitstellung einer effizienten Entwicklungs-Tool-Chain.
Ebenso war ich in die Umsetzung von kunden- bzw. projektspezifischen Anforderungen involviert.
Teamgröße: 5
Technologien:
Sprachen:
- C++
- PHP
- G-Code
Bibliotheken/Frameworks/APIs:
- Boost (Spirit, Serialize, Smart-Ptrs)
- Qt 4
- SQLApi
- dxflib
- SINUMERIK HMI programming package
Kommunikation:
- COM
- OPC
- DDE
- Profibus
Datenbanken:
- MySQL
- PostgreSQL
- SQL
Tools:
- Visual Studio 2005
- Subversion
- yWorks yEd
Sonstiges:
- XML
- UML
- Excel
Besonderheiten:
- frei programmierbarer Bearbeitungsablauf
- Multithreading
- State machines
- Persistenz
- Adynerisches GUI (dynamisch aus Strukturbeschreibung)
- Code-Generierung (C++ & G-Code)
- Mathematik (Bewegungsalgorithmen, Kinematik)
- Scheduling
- Plattformübergreifende Prozesskontrolle
- Naked objects-Pattern
Plattform:
- Windows XP (Embedded) auf PCU50
- Sinumerik 840D CNC Power/Solution Line
- Simatik SPS
-------------
Zeitraum: 09/2006 - 07/2010
Branche: Maschinenbau, Sondermaschinen
Projekt: Weiterentwicklung und Pflege Anlagensteuerungs-Framework
Projektmetrik:
Laufzeit: 10+ Jahre
Umfang: 30+ Personenjahre
Position: Architekt/Entwickler
Teamgröße: ca. 10
Meine Aufgaben:
-Neben der Entwicklungsleitung die Führungsrolle in der Software-Infrastruktur
-Konzepte und Entwicklung bei Basis-System-Erweiterungen
-Einführung einer neuen Kommunikationsschicht für die anhängende Hardware
-Erfassung von Anforderungen für eine Neuentwicklung des Basis-Systems
-Tool-Chain Entwicklung für optimiertes Release/Test-System
-Entwicklung eines systemübergreifenden Konzept und Entwicklung für Datenhaltung/Überlagerungen von 3D Nuten-Informationen
-integration C++-basierter Mathematik-Routinen aus der Neuentwicklung
-integration von verschiedener Messsystem wie laserbasierte Konturertmittlung, Vision-System und andere Messsysteme
Technologien:
Sprachen:
- Object Pascal
- G-Code
Bibliotheken/Frameworks/APIs:
- VCL
- SINUMERIK HMI programming package
Kommunikation:
- DDE
- COM
- OPC
Datenbanken:
- Access
- SQL
- ADO
- Jet
Tools:
- Delphi 5
- Delphi 7
- Visual SourceSafe 6.0
- C/C++
Sonstiges:
- Excel
- Meshlab, Parasolid
Besonderheiten:
- Refactoring: Umstrukturierung Plug-in-System, Extrahieren, reimplementieren und reintegrieren der Kommunikationsschnittstelle, Konsolidierung, Performance-Optimierung
- Code-Generierung (G-Code)
- Mathematik (Bewegungsalgorithmen, Kinematik)
- Plug-in basiertes Framework
- 3D Datenverarbeitung
Plattform:
- Windows NT 4.0 (Embedded), Windows XP (Embedded) auf PCU50
- Sinumerik 840D CNC Power Line
- Simatik SPS
-------------
Zeitraum: 04/2004 - 06/2004
Branche: Personenbeförderung - Schienenfahrzeuge
Projekt: Erweiterungen, Testssystem-Entwicklung
Projektmetrik:
Laufzeit: 2 Monate
Umfang: 5 Personenjahre
Position: Entwickler
Meine Aufgaben:
-Portierung einer Basic basierten Testumgebung nach C
-Feature-Erweiterung im embedded-System
-Tests mit der neuen Umgebung
Teamgröße: 3
Technologien:
Sprachen:
- C++
- x86 Assembler
Kommunikation:
- RS232
Tools:
- Paradigm C++
- Turbo Assembler
- CVS
Plattform:
- als Entwicklungssystem: Windows 2000
- Embedded: Steuerungsplatine mit 8088 Aufbau, Eprommer
-------------
Zeitraum: 09/2002 - 06/2004
Branche: Laborautomation
Projekt: Weiterentwicklung und Restrukturierung eines Frameworks zur Prozessoptimierung
Beschreibung:
Bei dem Projekt handelte es sich um ein automatisiertes Prozessoptimierungssystem im Bereich Forschung. Die Windows-basierte Software übte die vollständige Kontrolle über die im System befindlichen Komponenten wie Pipetiersysteme, Zuführungsroboter, Flüssigkeitsverwaltung, Sensorik für die Temperatur, ph-Dosierungen und Druck sowie das Logging zur abschließenden Analyse aus.
Auf dem System konnten frei programmierbare Syntheseabläufe durchgeführt werden. Dafür existierte ein Sequence-Editor, mit dem parallele Abläufe programmiert werden konnten. Dahinter stand eine Planungs-Software, welche die Abläufe auf Ressourcenschonung hin optimiert hat.
Meine Aufgaben bestanden in der Restrukturierung des gewachsenen Steuerungs-Frameworks und in der Behebebung von abnahmebehindernden Problemen. Die Restrukturierung umfasste alle Bereiche der Steuerungssoftware.
Dazu habe ich in das bestehende System eine Datenbankschicht eingeführt, um den Datenfluss zu kanalisieren. Weiterhin wurde eine Oberfläche zur Ausgabe von Zuständen der Reaktorsensoren, des restlichen Systems und eine Übersicht der stark parallel arbeitenden Prozesse entwickelt. Eine manuelle Kontrolloberfläche, mit der der Kunde in die Lage versetzt wurde, in laufende Prozesse einzugreifen oder Prozesse auf der Anlage manuell durchzuspielen entstand ebenso.
Um die vom Kunden gewünschte Parallelisierung zu erreichen, wurde der bestehende Scheduler von mir erweitert, damit eine optimalere parallele Auslastung des Systems erreicht wurde.
Als weitere Aufgabe übernahm ich die Verantwortung für die Flüssigkeitsverwaltung und -kontrolle innerhalb der Anlage. Zusätzlich habe ich die Erweiterung und Korrektur der Software-Treiber für das Labor-Equipment durchgeführt und die Integration eines Trennschichtenmesssystems und die zugehörige Prozessauswertung umgesetzt.
Schließlich war ich mit der defacto Projektleitung betreut und war der technische Ansprechpartner für Wünsche und Lösungsintegration des Kunden vor Ort.
Projektmetrik:
Laufzeit: 2 Jahre
Umfang: 10 Personenjahre
Position: Architekt/Entwickler
Teamgröße: 6
Technologien:
Sprachen:
- C++
Bibliotheken/Frameworks/APIs:
- MFC
- Beckhoff BC9000 ADS
Kommunikation:
- COM
- Winsock
- RS232
- Modbus
Datenbanken:
- Oracle
- SQL
Tools:
- Visual C++ 6.0
- Visual Source Safe
- Understand for C++
Sonstiges:
- XML
- UML
Besonderheiten:
- frei vom Benutzer programmierbarer Syntheseablauf, hohe Parallelität der Ausführung
- Multithreading
- Messwertfassung, Auswertung
- Scheduling
- Windows-Programm basierte Prozesskontrolle
- Plugin basiertes Framework mit Treibern für Laborgeräte (Roboter, Pippetiersysteme,Sensoren)
Plattform:
- Windows 2000
-------------
Zeitraum: 09/2001 - 08/2002
Branche: Online-Vertrieb, Firmen-Versicherungs-Portal
Projekt: Migration Entwicklungserver, Projektumstrukturierung, Bandbreitenoptimierung
Projektmetrik:
Laufzeit: 1 Jahr
Umfang: 10 Personenjahre
Position: Projektleiter und technischer Ansprechpartner/Entwickler
Mein Aufgaben:
-Migration von mehreren Entwicklungssystemen auf einen Masterstand
-Einführung von CVS und AccuRev-Versionskontroll-System
-Implementation eine Release-Systems um Stage/Live-Stand Tests und Überführung zu erleichtern
Teamgröße: 5
Technologien:
Sprachen:
- PHP
Tools:
- Araxis Merge
- AccuRev
- CVS - gescripted für automatische Server-Updates
Datenbanken:
- MySQL
- Oracle
- SQL
Plattform:
- Windows 2000
- Debian Linux
Besonderheiten:
- hohe Datenbelastung seitens Datenbanken
- viel Benutzertraffic
-------------
Zeitraum: 12/2000 - 08/2001
Branche: Online-Vertrieb
Projekt: Datamining, Benutzerverhaltensanalyse
Projektmetrik:
Laufzeit: 0,5 Jahre
Umfang: 4 Personenjahre
Position: Entwickler
Meine Aufgaben:
-Entwicklung eine HTML-Parsers um Zugriffs-Hotspots/Statistik-Information direkt
Online in eine Webseite zu mischen
Teamgröße: 4
Technologien:
Sprachen:
- Java
- PHP
Tools:
- Code Co-op
Datenbanken:
- MySQL
- SQL
Besonderheiten:
- Analyse Apache Logs und Suchmachinen-Verlinkung
mit direkter Ansicht im Analysierten Umfeld, Hotspot-Erkennung
Plattform:
- Windows 2000
- Debian Linux
- Apache
Fachlicher Schwerpunkt
--------------------------------------------------------
Software-Architekt & -Entwickler (Refactoring, Prozesssteuerung, Scheduling, Multithreading, breites fachlich-technisches Wissen,
Feuerwehreinsätze, Re/Reverse-Engineering) - meine Schwerpunkte C++, C, C#, TMP, Boost, Generic, OOP-Design
Position
--------------------------------------------------------
Software-Entwicklung / Programmierung
Beratung / Consulting
Qualitätsmanagement / Qualitätssicherung / Test
Engineering / IT-nahe Ingenieurdienstleistungen
Spezialist für "Feuerwehreinsätze" in heterogenen Umfeldern (Sprachen, Technologien, Hardware) auf Grund breiter fachlicher Basis und umfangreicher Projekterfahrung. Ein besonderer Erfahrungsschatz ist im Bereich von nachhaltigem Refactoring und Restrukturierung von gewachsenen Projekten vorhanden.
Ich bin ein Starker Teamplayer- und builder, Einführung von Pair-Programming und Software-Technologien, Methodiken in den Softwareentwicklungsprozess.
weiterhin haben ich ein sehr grosses Interesse an jeglicher Automatisierung von Entwicklungsprozessen d.h. die Implementierung von Test- und Buildsystemen
Code- und Konfigurationsgeneratoren.
Mein früher Einstieg in die Software-Entwicklung macht mich nach ca. 17 Jahren aktiver Softwareentwicklung zu einem ausgesprochenem Profi.
Über meine beruflichen Bezug beschäftige ich mich private mit den Themen: Programmiersprachendesign, Entwurfsmethoden und Reverse-Engineering.
Ausbildung
--------------------------------------------------------
08/1998 - 08/2001
Ausbildung zum Fachinformatiker Anwendungsentwicklung
9/2004 - 06/2005
Fachabitur Technik
10/2005 - 05/2006
Studium Software-Technik an der Fachhochschule Technik in Esslingen
Das Studium wurde auf Grund einer spannenden beruflichen
Herausforderung in der Industrie,
die schließlich zu meiner selbstständigkeit führte, beendet.
08/2010 Gründung eines Software-Unternehmens
Hardware
--------------------------------------------------------
embedded Systeme: x86 Assembler und Paradigm C++
Emulatoren: Dosbox als Host für 16Bit Code Portierung, VMWare, VirtualPC
Industrie-Roboter: Anbindung Handlingsystem an Fanuc Roboter
Messgeräte: Anbindung von Vision-Systemen und Laser-Mess-Systemen, HPLC-Laborgerät
Mikrocontroller: 80535, 8051 kleinst Datenerfassung
PC: Entwicklung und Anwendung
Sensoren: Prozesssteuerung über Messwerte wie Temperatur, ph-Wert, Trenn-Schichten
SPS: BC9000, S7, Beckhoff - Anbindung über ADS, S7 - Deltalogic AGLink
SUN: Solaris als Server für Warenwirtschaftssystem
Betriebssysteme
--------------------------------------------------------
MS-DOS: Entwicklung & Anwendung
SUN OS, Solaris: Anwendung
Unix: Linux, Entwicklung (gcc) & Anwendung
Windows: Entwicklung & Anwendung
Windows CE: Entwicklung
Programmiersprachen
--------------------------------------------------------
Ada: Grundkenntnisse
Assembler: x86, Sehr gut, 16bit Reverse-Engineeering
C: Experte
C#: Sehr gut
C++: Experte
CodeWarrior: Grundkenntnisse
Delphi: Experte
Imake, GNU-Make: Gut
Java: Sehr gut
Maschinensprachen: x86, sehr gut
Pascal: Experte
Perl: Gut
PHP: Sehr gut
PL/SQL: Sehr gut
Qt: Gut
Tcl/Tk: Gut
4gl: Gut
Sonstige
- NC-Programmierung/G-Code
- Maple
Bibliotheken/Frameworks/APIs
--------------------------------------------------------
- Qt 4
- STL
- Boost
- MFC
- Steema TeeChart (für MFC)
- VCL
- WinAPI
- .NET 1.0, 4.0
- OpenGL
- Detours
- SQLAPI
- Oracle OCI
- S7 Deltalogic AGLink, Beckhoff ADS
- nHibernate
- libmysql
- libsdl
Dokumentbeschreibungssprachen
--------------------------------------------------------
- XML
- (X)HTML & CSS
- Tex
Datenbanken
--------------------------------------------------------
Access: Sehr gut
BDE: Gut
DB2: Gut
Informix: Grundkenntnisse
ISAM: Grundkenntnisse
MS SQL Server: Sehr gut
MySQL: Sehr gut
ODBC: Gut
Oracle: Gut
Postgres: Gut
Proprietäre: DB Berkeley DB, gut
SQL: Experte
Sybase: Gut
Datenkommunikation
--------------------------------------------------------
Bus: Profibus: Sinumerik 840D CNC Protokollanalyse, Modbus Implementation Beckhoff BC9000
Ethernet: Grundkenntnisse
Internet, Intranet: Gut
ISO/OSI: Grundkenntnisse
PC-Anywhere: Gut
Proprietäre Protokolle: S7(Simatic) und Sinumerik Protokoll
RS232: Sehr gut, Anbindung diverse Messgeräte im Labor- und Produktionsumfeld, Testgeräte:
TCP/IP: Gut
Windows Netzwerk: Grundkenntnisse
Winsock: Gut - Anbindung von diversen Geräten
Analyse des undokumentieren/properitären Profibus Protokolls einer Sinumerik 840D Powerline CNC, um in Multithreading-Umgebung ein besseres, robusteres (Fehler)Verhalten zu erreichen.
Dazu gehörte:
- Entwicklung von Win-API/Dll Tracern auf Grundlage der Microsoft Detours-Library und C++
- Komplette Analyse der Datenkommunikation innerhalb des HMI Advanced Systems
- Binary-Protokollerstellung des Busverkehrs oberhalb der Treiberschicht (s7onlinx.dll)
- Tracer für die DDE-Kommunikation des Sinumerik HMI Advanced Servers
- Entwicklung von C++/PHP basierter Tools zur Patternanalyse in den Binärprotokollen
- Anbindung der CNC unter Umgehung der Siemenseigenene Software-Schnittstellen und direkte Kommunikation mit einem CP5611-Profibus Geräte-Treiber
Das gewonnen Wissen wurde in eine kommerzielle Kommunikationsbiliothek eines befreundeten Unternehmens integriert.
Design/Entwicklung/Konstruktion:
--------------------------------------------------------
MegaCAD Grundkenntnisse
Berechnung/Simulation/Versuch/Validierung
--------------------------------------------------------
3D-Simulation von Maschinenkinematik
Abtragssimulation bei zerspanender Bearbeitung
2D/3D DXF-Formate - als Ausgabeformat für Pfadbewegungen und Testhilfe bei 3D-Nutenberechnungen/ueberlagerungen, Kinematik-Simulation
Produkte/Standards/Erfahrungen
--------------------------------------------------------
Methodiken
- Objektorientierte Analyse (OOA)
- Objektorientiertes Design (OOD)
- Objektorientierte Programmierung (OOP)
- Methoden der agilen Entwicklung (XP, Scrum)
- UML2
Tools
IDEs
- Microsoft Visual Studio 5/6/2003/2005/2008/2010
- Microsoft Visual C++ 1.5
- Borland C++ Builder 3/4/5
- Borland C++ 3.1
- Turbo Pascal 3/5/7
- JBuilder
- JDK 1.2
- Borland Delphi 5/7
- Turbo Assembler 3/5
- gcc/mingw-gcc
- make
Revision Control Systeme
- Subversion (svn)
- Visual Source Safe 6.0 (VSS) - Einbindung in automatisches Buildsystem
- CVS - gescriptet ueber Shell-Scripts
- AccuRev
- Perforce
- Code Co-Op
Hardware-Kommunikation
-RS232, Profibus
-Beckhoff (ADS, Modbus), S7 Deltalogic AGLink
Sonstige
- BugZilla
- Altova XML Spy
- Visual Paradigm
- Araxis Merge
- IDA Freeware (DOS 16-Bit Reverse Engineering)
- Meshlab für 3D-Punktewolken/Meshes
- 2D/3D DXF-Tools
- Parasolid
Branchen
--------------------------------------------------------
Maschinenbau
Sondermaschinenbau
Anlagenbau
Robotersteuerung
Automatisierungstechnik
Laborautomation
Chemie
Forschung & Entwicklung
Softwarehersteller
Projekte
--------------------------------------------------------
Zeitraum: 12/2010 - 1/2011
Branche: Kommunikationslösungen im Automationsbereich
Projekt: Fehlereingrenzung im Zusammenhang mit Hard- und Software-Kommunikationskomponente im Simatic-/Sinumerik-Umfeld
Projektmetrik:
Umfang: 20+ Personenjahre
Teamgröße: 6
Meine Aufgaben:
-Unterstützung der Entwicklungsleitung bei Strategieentwicklung für Fehleraufdeckung/eingrenzung
-Analysedaten-Migration/Toolchain für weitere Analysen
-Reverse-Engineering HMI-Advanced Protokollformate
Technologien:
Sprachen:
- C++ für Test-Tools
- PHP für Loganalysen und Datenmigration
Kommunikation:
- Ethernet
- Profibus
- DDE
Tools:
- Sinumerik HMI Advanced
- SinuCOM NC Tracer
- Softing Profibus-Analyser
- interne Logging-Software des Kunden
Platform:
- NCU 840D Powerline
- Windows XP
-------------
Zeitraum: 11/2010 - 12/2010
Projekt:
Produktentwicklung
Softwaretool mit den Features Analyse, Recover und Extrahierung für ein properitäres Archivierungssystem.
Dabei wurde u.a. ein Checksummen-Algorithmus mittels statistischer Methoden analysiert und implementiert.
Ermöglicht Batchprüfung und Recovery der Archivstruktur und Detail-Prüfung archivierter Daten.
Dazu gehörte die Analyse des Archivierungsformates Abschätzung rettbarer Zustände und die Entwicklung einer intuitiven Oberfläche zur leichten Handhabung von vielen Archiven und deren Inhalt.
Teamgröße: 2
Meine Aufgaben:
-Analyse des properitären Archivformates und Entwicklung
-Entwicklung einer Testumgebung für automatische Extractions/Prüf-Tests
-Design der Oberfläche.
verwendete Technologien
Sprache:
-C#/WPF - Basissprache und GUI
-C++ für die ersten Prototypen
-PHP für Analyse Extraktionslogs
Tools:
-HxD Hexeditor
-Diff Tools
weitere Besonderheiten
-Multithreading in Extraktion und Oberfläche
-------------
Zeitraum: 10/2010 - 11/2010
Branche: Automation
Projekt: Erstellung einer Beobachtungs- und Logging-Applikation für eine Produktionsanlage
Beschreibung:
Konsolidierung der Überwachung einer Produktionsanlage (z.B. Betriebsmittel- und Rohstoffverbrauch, Produktionskennzahlen), die bisher durch diverse unabhängige Software-Pakete durchgeführt wurde. Ersetzt wurde die bisher genutzte Software durch eine Lösung mit einer Client-Server-Architektur.
Folgende Aufgaben werden durch die neue Software abgedeckt:
* Erfassung von Parametern und Kennzahlen von Siemens S7 PLCs
* Betriebsdatenerfassung (BDE)-Rückmeldung an PPS-System
* Logging in MS SQL Server
* Visualisierung der erfassten Daten
Projektmetrik:
Laufzeit: 1,5 Monate
Umfang: 4 Personenmonate
Position: Architekt & Entwickler
Meine Aufgaben:
-Entwurf einer durch Plugins erweiterbare Server-Umgebung die als Basis für zukünftige Projekte des Kunden verwendet wird.
-Analyse eines bestehenden Kunden-Projektes und Umsetzung in die neue Architektur.
Teamgröße: 4
Technologien:
Sprachen:
- C#
Bibliotheken/Frameworks/APIs:
- .Net 4.0
- WPF
- Silverlight
- WCF
- ADO.NET
- ACCON-AGLink
- log4net
Datenbanken:
- Microsoft SQL Server 2008 Express
- SQL Anywhere 9
Tools:
- Visual Studio 2010
- Subversion, TortoiseSvn
Sonstiges:
- XML (Konfiguration des Servers)
- EVOlite PPS-System
Besonderheiten:
- Analyse der aktuellen Lösung und Entwicklung einer Migrationsstrategie
- SOA
- Multithreading
- PLC/SPS
Plattform:
- Windows 7
-------------
Zeitraum: 09/2010
Branche: Software-Systemhaus
Projekt: Neuentwicklung, Organisations-, Facility- und Zutritts-Management
Beschreibung:
Entwicklung einer Web-basierten Lösung mit SOA. Die Kommunikationsschicht wurde mit WCF umgesetzt. Implementiert wurde mit C# unter Visual Studio 2008 und dann Visual Studio 2010. Für das User Interface wurden einerseits HTML, CSS und Javascript sowie andererseits Silverlight eingesetzt. Als Webserver kam IIS 6 und 7 zum Einsatz. Server Betriebssysteme waren Windows 2003 und Windows 2008. Konsequentes Unit-Testing mit dem Microsoft UnitTest-Framework.
Projektmetrik:
Laufzeit: 1 Monat
Umfang: 5 Personenjahre
Position: Architektur-Beratung/Entwickler
Meine Aufgaben:
- Review der Architektur im Bereich Datenfluss und Datenbank-Anbindung
- Konzepte für die Umsetzung von komplexen Abfrageszenarien (Business-Logik an die Datenbank) und deren Realisierung mit nHibernate
- Erstellung von Business-Logik
Teamgröße: 6
Technologien:
Sprachen:
- C#
Bibliotheken/Frameworks/APIs:
- .NET 3.5, .NET 4.0
Kommunikation:
- SOAP
- WCF
Datenbanken:
- MS SQL Server 2008
- nHibernate
- SQL
Tools:
- Visual Studio 2008 & 2010
- Subversion
- TFS 2010
Sonstiges:
- XML
- IIS 6, 7
- Internet Explorer 6, 7
- WWF
- KWD
- Enterprise Library, Unity
- T4
Besonderheiten:
- SOA
- Dependency injection
- Code-Generierung (C#)
- Unit-Tests
Plattform:
Windows Vista, Windows 7, Windows Server 2003, Windows Server 2008
-------------
Zeitraum: 08/2010
Branche: Automation
Projekt: Erstellung eines Prototyps für die Kernfunktionalität eines Prozessüberwachungs- und -steuerungs-Frameworks inkl. Hardware-Anbindung und Demo-UI
Beschreibung:
Ziel des Frameworks ist die Bereitstellung einer Client-Server-Architektur, die es ermöglicht, eine beliebige Anzahl von Systemen (z.B. PLC, SAP-System, Datenbank, Anwendung, ...) über eine einheitliche Schnittstelle zu überwachen, zu steuern und zu vernetzen. Dabei ist eine Hohe Skalierbarkeit bezüglich der Menge der gesteuerten Systeme essentiell.
Für diese Aufgabenstellung musste eine grundlegende Architektur entworfen werden und ein Proof of concept-Prototyp erstellt werden, der einen vertikalen Durchstich durch das System darstellt (vom UI bis zur Hardware).
Projektmetrik:
Laufzeit: 1 Monate
Umfang: 2 Personenmonate
Position: Architekt & Entwickler
Teamgröße: 2
Technologien:
Sprachen:
- C#
Bibliotheken/Frameworks/APIs:
- .Net 4.0
- WPF
- ACCON-AGLink
Datenbanken:
- Microsoft SQL Server 2008 Express
Tools:
- Visual Studio 2010
Besonderheiten:
- Analyse der Anforderung
- Analyse der abzulösenden Software
- Entwurf der Architektur
- Multithreading
- Überwachung und Steuerung u.a. von Siemens S7
Plattform:
- Windows 7
-------------
Projekte aus Berufserfahrung
Zeitraum: 01/2007 - 07/2010
Branche: Maschinenbau, Sondermaschinen
Projekt: Neuentwicklung Anlagensteuerungs-Framework
Beschreibung:
Die Kernfunktionaliät der Software ist die Erzeugung von NC-Code für 5- und 6-achsige CNC-Maschinen (mit Siemens Sinumerik 840D und Siemens S7). Auf der Bedienerseite sind die Anlagen mit einem Industrie-PC (PCU 50) mit Windows Embedded-Betriebssystem ausgestattet. Anwendung findet die Software ebenso auf externen Arbeitsplatz-PCs zur Arbeitsvorbereitung und zur Simulation.
An die Software werden höchste Ansprüche an Stabilität, Usability und Genauigkeit gestellt.
Um das Kernprodukt zur NC-Code-Erzeugung mit ca. 200 Plug-Ins existiert ein breites Umfeld von Tools. Darunter sind unter anderem eine Datenbankanwendung zur Verwaltung der Werkzeuge, ein 2,5D-CAD-System, das Kinematikdefinitionsmodul, ein NC-Code-Editor und diverse Konfigurationsprogramme.
Projektmetrik:
Laufzeit: 3 Jahre
Umfang: 10 Personenjahre
Position: Architekt/Entwickler
Meine Hauptaufgabe bestand in der Vorgabe und Umsetzung der Architektur und des Designs des Kernsystems.
dazu gehörte:
-Ein Objekt-Hierachie Konzept für das gesamte System
-Grundlagen für die darauf aufbauende Datenhaltung, Inner-Referenzierung, allgemeine Import/Export-Strategien
-DSL-Sprachen Konzept, Parser und Generatoren
-Ein Querysystem für Informationsgewinnung in der Objekt-Hierachie
-Konzepte für die Visualisierung des System und des daraus generierte UIs
-Das Design für Ausführung/Prozesssteuerung und Parallelisierung/Multithreading und die Koordination der bei der Ausführung beteiligten Hard- und Software-Systeme
-die Anleitung beteiligten Entwickler.
-Performance-Optierungen im Bereich Abtragssimulation
Ein weiterer Schwerpunkt war die Bereitstellung einer effizienten Entwicklungs-Tool-Chain.
Ebenso war ich in die Umsetzung von kunden- bzw. projektspezifischen Anforderungen involviert.
Teamgröße: 5
Technologien:
Sprachen:
- C++
- PHP
- G-Code
Bibliotheken/Frameworks/APIs:
- Boost (Spirit, Serialize, Smart-Ptrs)
- Qt 4
- SQLApi
- dxflib
- SINUMERIK HMI programming package
Kommunikation:
- COM
- OPC
- DDE
- Profibus
Datenbanken:
- MySQL
- PostgreSQL
- SQL
Tools:
- Visual Studio 2005
- Subversion
- yWorks yEd
Sonstiges:
- XML
- UML
- Excel
Besonderheiten:
- frei programmierbarer Bearbeitungsablauf
- Multithreading
- State machines
- Persistenz
- Adynerisches GUI (dynamisch aus Strukturbeschreibung)
- Code-Generierung (C++ & G-Code)
- Mathematik (Bewegungsalgorithmen, Kinematik)
- Scheduling
- Plattformübergreifende Prozesskontrolle
- Naked objects-Pattern
Plattform:
- Windows XP (Embedded) auf PCU50
- Sinumerik 840D CNC Power/Solution Line
- Simatik SPS
-------------
Zeitraum: 09/2006 - 07/2010
Branche: Maschinenbau, Sondermaschinen
Projekt: Weiterentwicklung und Pflege Anlagensteuerungs-Framework
Projektmetrik:
Laufzeit: 10+ Jahre
Umfang: 30+ Personenjahre
Position: Architekt/Entwickler
Teamgröße: ca. 10
Meine Aufgaben:
-Neben der Entwicklungsleitung die Führungsrolle in der Software-Infrastruktur
-Konzepte und Entwicklung bei Basis-System-Erweiterungen
-Einführung einer neuen Kommunikationsschicht für die anhängende Hardware
-Erfassung von Anforderungen für eine Neuentwicklung des Basis-Systems
-Tool-Chain Entwicklung für optimiertes Release/Test-System
-Entwicklung eines systemübergreifenden Konzept und Entwicklung für Datenhaltung/Überlagerungen von 3D Nuten-Informationen
-integration C++-basierter Mathematik-Routinen aus der Neuentwicklung
-integration von verschiedener Messsystem wie laserbasierte Konturertmittlung, Vision-System und andere Messsysteme
Technologien:
Sprachen:
- Object Pascal
- G-Code
Bibliotheken/Frameworks/APIs:
- VCL
- SINUMERIK HMI programming package
Kommunikation:
- DDE
- COM
- OPC
Datenbanken:
- Access
- SQL
- ADO
- Jet
Tools:
- Delphi 5
- Delphi 7
- Visual SourceSafe 6.0
- C/C++
Sonstiges:
- Excel
- Meshlab, Parasolid
Besonderheiten:
- Refactoring: Umstrukturierung Plug-in-System, Extrahieren, reimplementieren und reintegrieren der Kommunikationsschnittstelle, Konsolidierung, Performance-Optimierung
- Code-Generierung (G-Code)
- Mathematik (Bewegungsalgorithmen, Kinematik)
- Plug-in basiertes Framework
- 3D Datenverarbeitung
Plattform:
- Windows NT 4.0 (Embedded), Windows XP (Embedded) auf PCU50
- Sinumerik 840D CNC Power Line
- Simatik SPS
-------------
Zeitraum: 04/2004 - 06/2004
Branche: Personenbeförderung - Schienenfahrzeuge
Projekt: Erweiterungen, Testssystem-Entwicklung
Projektmetrik:
Laufzeit: 2 Monate
Umfang: 5 Personenjahre
Position: Entwickler
Meine Aufgaben:
-Portierung einer Basic basierten Testumgebung nach C
-Feature-Erweiterung im embedded-System
-Tests mit der neuen Umgebung
Teamgröße: 3
Technologien:
Sprachen:
- C++
- x86 Assembler
Kommunikation:
- RS232
Tools:
- Paradigm C++
- Turbo Assembler
- CVS
Plattform:
- als Entwicklungssystem: Windows 2000
- Embedded: Steuerungsplatine mit 8088 Aufbau, Eprommer
-------------
Zeitraum: 09/2002 - 06/2004
Branche: Laborautomation
Projekt: Weiterentwicklung und Restrukturierung eines Frameworks zur Prozessoptimierung
Beschreibung:
Bei dem Projekt handelte es sich um ein automatisiertes Prozessoptimierungssystem im Bereich Forschung. Die Windows-basierte Software übte die vollständige Kontrolle über die im System befindlichen Komponenten wie Pipetiersysteme, Zuführungsroboter, Flüssigkeitsverwaltung, Sensorik für die Temperatur, ph-Dosierungen und Druck sowie das Logging zur abschließenden Analyse aus.
Auf dem System konnten frei programmierbare Syntheseabläufe durchgeführt werden. Dafür existierte ein Sequence-Editor, mit dem parallele Abläufe programmiert werden konnten. Dahinter stand eine Planungs-Software, welche die Abläufe auf Ressourcenschonung hin optimiert hat.
Meine Aufgaben bestanden in der Restrukturierung des gewachsenen Steuerungs-Frameworks und in der Behebebung von abnahmebehindernden Problemen. Die Restrukturierung umfasste alle Bereiche der Steuerungssoftware.
Dazu habe ich in das bestehende System eine Datenbankschicht eingeführt, um den Datenfluss zu kanalisieren. Weiterhin wurde eine Oberfläche zur Ausgabe von Zuständen der Reaktorsensoren, des restlichen Systems und eine Übersicht der stark parallel arbeitenden Prozesse entwickelt. Eine manuelle Kontrolloberfläche, mit der der Kunde in die Lage versetzt wurde, in laufende Prozesse einzugreifen oder Prozesse auf der Anlage manuell durchzuspielen entstand ebenso.
Um die vom Kunden gewünschte Parallelisierung zu erreichen, wurde der bestehende Scheduler von mir erweitert, damit eine optimalere parallele Auslastung des Systems erreicht wurde.
Als weitere Aufgabe übernahm ich die Verantwortung für die Flüssigkeitsverwaltung und -kontrolle innerhalb der Anlage. Zusätzlich habe ich die Erweiterung und Korrektur der Software-Treiber für das Labor-Equipment durchgeführt und die Integration eines Trennschichtenmesssystems und die zugehörige Prozessauswertung umgesetzt.
Schließlich war ich mit der defacto Projektleitung betreut und war der technische Ansprechpartner für Wünsche und Lösungsintegration des Kunden vor Ort.
Projektmetrik:
Laufzeit: 2 Jahre
Umfang: 10 Personenjahre
Position: Architekt/Entwickler
Teamgröße: 6
Technologien:
Sprachen:
- C++
Bibliotheken/Frameworks/APIs:
- MFC
- Beckhoff BC9000 ADS
Kommunikation:
- COM
- Winsock
- RS232
- Modbus
Datenbanken:
- Oracle
- SQL
Tools:
- Visual C++ 6.0
- Visual Source Safe
- Understand for C++
Sonstiges:
- XML
- UML
Besonderheiten:
- frei vom Benutzer programmierbarer Syntheseablauf, hohe Parallelität der Ausführung
- Multithreading
- Messwertfassung, Auswertung
- Scheduling
- Windows-Programm basierte Prozesskontrolle
- Plugin basiertes Framework mit Treibern für Laborgeräte (Roboter, Pippetiersysteme,Sensoren)
Plattform:
- Windows 2000
-------------
Zeitraum: 09/2001 - 08/2002
Branche: Online-Vertrieb, Firmen-Versicherungs-Portal
Projekt: Migration Entwicklungserver, Projektumstrukturierung, Bandbreitenoptimierung
Projektmetrik:
Laufzeit: 1 Jahr
Umfang: 10 Personenjahre
Position: Projektleiter und technischer Ansprechpartner/Entwickler
Mein Aufgaben:
-Migration von mehreren Entwicklungssystemen auf einen Masterstand
-Einführung von CVS und AccuRev-Versionskontroll-System
-Implementation eine Release-Systems um Stage/Live-Stand Tests und Überführung zu erleichtern
Teamgröße: 5
Technologien:
Sprachen:
- PHP
Tools:
- Araxis Merge
- AccuRev
- CVS - gescripted für automatische Server-Updates
Datenbanken:
- MySQL
- Oracle
- SQL
Plattform:
- Windows 2000
- Debian Linux
Besonderheiten:
- hohe Datenbelastung seitens Datenbanken
- viel Benutzertraffic
-------------
Zeitraum: 12/2000 - 08/2001
Branche: Online-Vertrieb
Projekt: Datamining, Benutzerverhaltensanalyse
Projektmetrik:
Laufzeit: 0,5 Jahre
Umfang: 4 Personenjahre
Position: Entwickler
Meine Aufgaben:
-Entwicklung eine HTML-Parsers um Zugriffs-Hotspots/Statistik-Information direkt
Online in eine Webseite zu mischen
Teamgröße: 4
Technologien:
Sprachen:
- Java
- PHP
Tools:
- Code Co-op
Datenbanken:
- MySQL
- SQL
Besonderheiten:
- Analyse Apache Logs und Suchmachinen-Verlinkung
mit direkter Ansicht im Analysierten Umfeld, Hotspot-Erkennung
Plattform:
- Windows 2000
- Debian Linux
- Apache
Weitere Kenntnisse
Programmierung & Betriebssysteme
- Softwareprogrammierung
- Assembler
- C
- C++
- Delphi
- Pascal / Turbo Pascal
- PHP
- SQL
- UML
- XML
- MSSQL
- MySQL
- Oracle
- Postgre
- .Net
- DOS
- Linux
- C#
- Softwareprogrammierung
- Assembler
- C
- C++
- Delphi
- Pascal / Turbo Pascal
- PHP
- SQL
- UML
- XML
- MSSQL
- MySQL
- Oracle
- Postgre
- .Net
- DOS
- Linux
- C#
Persönliche Daten
Sprache
- Deutsch (Muttersprache)
- Englisch ()
Profilaufrufe
4350
Alter
45
Berufserfahrung
25 Jahre
(seit 1999)
Projektleitung
2 Jahre
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden