Company logo

INGENIEURBÜRO
SOFTWARE SYSTEMS

Das Ingenieurbüro Software Systems ist Ihr idealer Partner für die Entwicklung Ihres Softwaresystems – ganz gleich, wie komplex die Aufgabe ist. Wir entwickeln Ihr Softwaresystem und bieten Ihnen dazu erstklassige, individuelle Beratung sowie umfassenden Support.

Jürgen Ehret, Principal Software Engineer Dr.-Ing. Jürgen Ehret
Principal Software Engineer

Dr.-Ing. Jürgen Ehret ist der herausragende und erfahrene Entwicklungsingenieur, auf den Sie sich jederzeit verlassen können. Jürgen war viele Jahre Entwicklungsingenieur in der Softwareentwicklung bei BMW. Er hat in München in interdisziplinären Teams Software für elektronische Antriebs- und Fahrwerksysteme für Serienfahrzeuge entwickelt und in seiner Doktorarbeit gemeinsam mit BMW im Technology Office in Palo Alto, Kalifornien, neue Ansätze für die Entwicklung sicherheitskritischer Drive-by-Wire Systeme untersucht.

Im Silicon Valley hat Jürgen als freiberuflicher Softwareingenieur erfolgreich Softwaresysteme für andere Top-Unternehmen sowie für ein Start-up entwickelt. Für weitere Informationen siehe Jürgens Kurzbiografie.

Jürgen Ehret Leiter & Gründer

Kurzbiografie

Jürgen Ehret

Jürgen wurde in Freiburg im Breisgau geboren und ist dort auch aufgewachsen. Er ist ein international erfahrener Entwicklungsingenieur, der sein Handwerk von der Pike auf gelernt hat.

Er absolvierte zunächst eine Ausbildung zum Energieanlagenelektroniker bei der Deutschen Bahn. Über den zweiten Bildungsweg holte er dann das Abitur nach und studierte anschließend Elektrotechnik an der Universität Karlsruhe (TH).

Als junger Diplomingenieur startete er seine beeindruckende Karriere bei BMW im Forschungs- und Innovationszentrum (FIZ) in München. Dort arbeitete er viele Jahre in kollegialen, interdisziplinären Teams an spannenden Projekten, die ihn zum Experten der Ingenieurskunst machten und auch in das BMW Technology Office in Palo Alto, Kalifornien, führten. Nach vielen faszinierenden Jahren in der Softwareentwicklung promovierte Jürgen während seiner Tätigkeit bei BMW an der Technischen Universität München (TUM) zum Thema „Validation of Safety-Critical Distributed Real-Time Systems“.

Danach zog es Jürgen ins Silicon Valley, wo er als freiberuflicher Softwareingenieur durchstartete. Sowohl in etablierten Unternehmen als auch in einem Start-up meisterte er erfolgreich anspruchsvolle Aufgaben der Softwareentwicklung unter agilen Arbeitsbedingungen für seine Kunden.

Jürgen hat in seinen Projekten eindrucksvoll bewiesen, dass theoretisches Wissen erfolgreich zur Lösung praktischer Aufgaben eingesetzt werden kann – dank seiner herausragenden analytischen und kreativen Fähigkeiten.

Nach seiner Rückkehr nach Deutschland gründete er das Ingenieurbüro Software Systems in Freiburg im Breisgau. Das Unternehmen entwickelt für seine Kunden maßgeschneiderte Softwaresysteme und bietet ihnen dazu eine umfassende Beratung und Unterstützung an.

Jürgen liebt die Natur, die er so oft wie möglich beim Wandern oder Joggen genießt. Und er liebt es, interessante Bücher zu lesen.

Sein Curriculum Vitae liefert Ihnen weitere Informationen zu seiner beeindruckenden Karriere.

Softwareentwicklung mit Leidenschaft

Wir entwickeln für Sie das leistungsfähigste und zuverlässigste Softwaresystem, das Ihre Aufgaben effizient löst – garantiert! Dafür setzen wir unser ganzes Können, unsere ganze Erfahrung und unsere ganze Kreativität ein.

In den folgenden Bereichen haben wir bereits erfolgreich Projekte umgesetzt:

  1. Entwurf und Implementierung von Softwaresystemen von der Idee bis zur Marktreife.
  2. Erweiterung und Optimierung von Softwaresystemen.
  3. Entwicklung von Softwarepaketen zur Simulation und Analyse physikalischer Prozesse.

Wir stellen höchste Qualitätsansprüche und feste Prinzipien in der Entwicklung in den Mittelpunkt, um erstklassige Softwaresysteme zu entwickeln. Das „Manifesto for Agile Software Development“ ist für uns nicht nur ein Leitfaden, sondern auch ein Ansporn, diesem hohen Anspruch stets gerecht zu werden.

„Wir erschließen bessere Wege, Software zu entwickeln, indem wir es selbst tun und anderen dabei helfen. Durch diese Tätigkeit haben wir diese Werte zu schätzen gelernt:

Individuen und Interaktionen mehr als Prozesse und Werkzeuge

Funktionierende Software mehr als umfassende Dokumentation

Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung

Reagieren auf Veränderung mehr als das Befolgen eines Plans

Das heißt, obwohl wir die Werte auf der rechten Seite wichtig finden, schätzen wir die Werte auf der linken Seite höher ein.“

(Auszug aus: Beedle, Mike, et al. 2001. „Manifesto for Agile Software Development“. https://agilemanifesto.org/)

Section Headline

Projekte & Technologien

Überzeugen Sie sich von unserer Kompetenz anhand der folgenden Auswahl erfolgreich abgeschlossener Softwareprojekte und den eingesetzten Technologien: Profitieren auch Sie von unserer Erfahrung und Expertise für Ihr Projekt. Kontaktieren Sie uns für ein unverbindliches Beratungsgespräch!

Symbol of Smartphone App

Computer Vision App

IBSoftSys

Symbol of Smartphone App Aus Interesse an Computer Vision und digitaler Bildverarbeitung entwickelte Jürgen eine Anwendung, die das menschliche Sehen und Denken beim Spielen des Kartenspiels SET® simuliert. Normale Lichtverhältnisse vorausgesetzt, findet die entwickelte Smartphone-App nicht nur die richtige Lösung vor allen anderen Spielern, sondern auch alle Lösungen.

Software Tools

Objective-C C/C++ iOS Xcode Scilab/MATLAB OpenCV

Details >

Symbol of Smartphone App

Computer Vision App

IBSoftSys

Die Idee zu dieser App entstand an der Laurelwood Elementary School in Santa Clara, Kalifornien. Als Volontär spielte Jürgen mit Zweitklässlern im Mathematikunterricht als Gruppenarbeit das Kartenspiel SET®, das die visuelle Wahrnehmung und das logische Denken trainiert. Er stellte sich immer wieder vor, wie ein Smartphone seine Rolle als Schiedsrichter übernehmen könnte.

Ausgehend von dieser Vision entwickelte Jürgen die Smartphone-App AI Card Player. Die App erkennt die Farben und Symbole der Spielkarten, berechnet alle erlaubten Kombinationen und präsentiert die Lösung des Rätsels sehr anschaulich und verständlich.

Der größte Teil der Entwicklung bestand darin, einen zuverlässigen Weg zu finden, um die Farben und Symbole der Spielkarten zu erkennen und dieses Modell in effiziente Software zu übersetzen. Interessanterweise ist die visuelle Wahrnehmung von Spielkarten und das Erlernen der Symbole für uns Menschen eine relativ einfache Aufgabe, sie stellen aber für ein Computersystem kein triviales Problem dar. Dagegen scheint die Nachbildung des logischen Denkens für ein Computersystem ein Kinderspiel zu sein. Die Umsetzung der Spielregeln machte nur einen winzigen Bruchteil des Entwicklungsaufwandes aus.

Weitere Informationen zur App finden Sie auf der Webseite AI Card Player.

Software Tools

Objective-C C/C++ iOS Xcode Scilab/MATLAB OpenCV

SET® is a registered trademark of Cannei LLC licensed by Set Enterprises, Inc.

Symbol of Crash Test Dummy

Embedded Systems

BMW Group

Symbol of Crash Test DummyIn interdisziplinären Ingenieurteams bei BMW entwickelte Jürgen Software elektronischer Systeme (Embedded Systems) für Lenk- und Antriebssysteme in Fahrzeugen. Nach langjähriger Tätigkeit in der Entwicklung erforschte Jürgen für seine Doktorarbeit und BMW Methoden zur Entwicklung von Soft- und Hardware für zukünftige Drive-by-Wire Systeme.

Software Tools

C/C++ Assembler ASCET VCC

Details >

Symbol Crash Test Dummy

Embedded Systems

BMW Group

In interdisziplinären Ingenieurteams bei BMW, München, entwickelte Jürgen Software von elektronischen Steuergeräten (Embedded Systems) für Lenk- und Antriebssysteme, die beispielsweise im 3er und 7er in Serie gingen.

Seine Aufgabe war die Entwicklung Echtzeit kritischer Softwaresysteme, die mit unterschiedlichen Konfigurationen der Hardware in vielen Fahrzeugvarianten zum Einsatz kamen. Das Arbeitsgebiet umfasste die Erstellung der ersten Prototypen im Labor, die anschließende Integration ins Fahrzeug, Systemtests im Fahrzeug auch unter extremsten klimatischen Bedingungen und die Betreuung der Softwaresysteme nach dem Serienanlauf.

Die immer komplexer werdenden Systeme in Fahrzeugen, wie beispielsweise Drive-by-Wire Systeme, erforderten den Einsatz neuer Methoden und Tools. Um den deutlich gestiegenen Anforderungen an Soft- und Hardware gerecht zu werden, hat Jürgen im Rahmen seiner Promotion im BMW Technology Office, Palo Alto, Kalifornien, neue Ansätze zur Entwicklung solcher Systeme entwickelt und evaluiert.

Software Tools

C/C++ Assembler ASCET VCC

VCC: Virtual Component Co-Design

Symbol of Distributed System

Modelling & Simulation

GM Advanced Technology Office

Symbol of Distributed SystemGemeinsam mit dem GM Advanced Technology Office entwickelte Jürgen ein Modell zur Simulation vernetzter Steuergeräte. Anhand des Modells konnten die Ingenieure bei GM die Vernetzung der Steuergeräte neuer Modelle simulieren und analysieren.

Software Tools

C/C++ MLDesigner

Details >

Symbol of Model of Distributed Systems

Modelling & Simulation

GM Advanced Technology Office

General Motors (GM) in den USA suchte nach einem Simulationsmodell für vernetzte elektronischer Steuergeräte in ihren Fahrzeugen. Übergeordnetes Ziel war es, optimale Systemarchitekturen für zukünftige Fahrzeugmodelle zu entwickeln.

Gemeinsam mit Paolo Giusto, Forscher und Ingenieur am GM Advanced Technology Office, Palo Alto, Kalifornien, entwickelte Jürgen ein Modell, das vernetzte Steuergeräte simulieren kann. Herzstück des Modells war ein Suchalgorithmus, der alle möglichen Kommunikationskanäle analysierte und so eine quantitative Bewertung unterschiedlicher Systemarchitekturen ermöglichte. Individuell entwickelte Auswertungsfunktionen erlaubten zudem eine einfache Analyse der Ergebnisse und rundeten das entwickelte Softwarepaket ab.

Das auf statistischen Methoden basierende Simulationsmodell wurde von den GM Ingenieuren akzeptiert und in den Entwicklungsabteilungen erfolgreich eingesetzt.

Software Tools

C/C++ MLDesigner

Symbol of Test Software Systems

Software Testing

Cisco Systems & Crosstest

Symbol of Test Software SystemsIn der Start-up Crosstest entwickelte Jürgen Module für ein Softwaretool, mit dem Softwareentwickler ihren C/C++ Code testen. Später war Jürgen Teil des Support-Teams bei Cisco Systems, wo er Methoden zum Testen von Software entwickelte und die Automatisierung von Tests durch Shell Scripts unterstützte.

Software Tools

Java C/C++ Perl Shell Scripts

Details >

Symbol of Test Software Systems

Software Testing

Cisco Systems & Crosstest

In der Start-up Crosstest, San Mateo, Kalifornien, hat Jürgen in einem kleinen Team Module für ein Softwaretool entwickelt, das Unit-Testfälle für C/C++-Funktionen generiert. Das Tool unterstützt Softwareentwickler beim Testen ihrer Softwarefunktionen, um Fehler im Code frühzeitig zu erkennen und zu beseitigen. Der CEO von Crosstest, Khalid Sebti, war sehr begeistert von einem neuen Softwaremodul, das Jürgen entwickelte, und bemerkte: „Jürgen, du hast die Messlatte für uns sehr hoch gelegt!“

Mit einem ähnlichen Ziel vor Augen arbeitete Jürgen im Supportteam bei Cisco Systems, San Jose, Kalifornien. Im Team entwickelte Jürgen Shell Scripts für die Testautomatisierung und allgemeine Richtlinien für das Testen von Software. Eine weitere wichtige Aufgabe des Teams war es, die Softwareentwickler mit diesen neuen Tools und Methoden vertraut zu machen und sie bei der Anwendung zu unterstützen.

Software Tools

Java C/C++ Perl Shell Scripts

Symbol of Search for Contacts

Web Page Filtering

Auto-Handels-Service

Symbol of Search for ContactsJürgen entwickelte ein Softwareprogramm, das die Webseiten eines Online-Fahrzeugmarktes nach Kontaktdaten von Autohändlern durchsucht, die für den Auto-Handels-Service interessant sind. Die gefundenen Kontakte werden für kommerzielle Programme so aufbereitet, dass die Daten dort einfach importiert werden können.

Software Tools

Python PHP Beautiful Soup JSON Selenium WebDriver Shell Scripts

Details >

Symbol of Search for Contacts

Web Page Filtering

Auto-Handels-Service

Ein Berliner Auto-Handels-Service wünschte sich ein Softwareprogramm, das die generierten Webseiten eines Online-Fahrzeugmarktes nach ausgewählten Kriterien (Marke, Preis etc.) durchsucht und aus der Informationsflut für ihn interessante Kontaktadressen herausfiltert.

Eine Herausforderung bei diesem Projekt war die hohe Anzahl an Anfragen an den Webserver des Online-Portals (mehr als 50.000) und die damit verbundenen Verzögerungen oder gar Abbrüche durch den Webserver.

Die Lösung des Problems bestand darin, Abfragen in kleinere Einheiten zu zerlegen und die Zwischenergebnisse in einem Standardformat zu speichern. Dadurch konnten die Daten letztendlich unabhängig von der Internetverbindung zu den gewünschten Händlerlisten zusammengeführt werden. Die generierte Liste kann nun einfach aus einem Standardprogramm, zum Beispiel Microsoft Excel oder Apple Numbers, importiert und übersichtlich als Tabelle dargestellt werden.

Diese Lösung machte das Softwaresystem nicht nur robuster und skalierbarer, sondern auch schneller.

Software Tools

Python PHP Beautiful Soup JSON Selenium WebDriver Shell Scripts

Section Headline