Company logo

INGENIEURBÜRO
SOFTWARE SYSTEMS

The Ingenieurbüro Software Systems is your ideal partner for developing your software system, no matter how complex the task. We develop your software system and offer you first-class, individual consultation and comprehensive support.

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

Dr.-Ing. Jürgen Ehret is the outstanding and experienced development engineer you can always rely on. Jürgen was a development engineer in software development at BMW for many years. In interdisciplinary teams in Munich, he developed software for electronic drive and chassis systems for series production vehicles and, in his doctoral thesis, investigated new approaches for the development of safety-critical drive-by-wire systems together with BMW at the Technology Office in Palo Alto, California.

As a freelance software engineer in Silicon Valley, Jürgen has successfully developed software systems for other top companies as well as for a start-up. For more information, see Jürgen's Brief Biography.

Jürgen Ehret Head & Founder

Brief Biography

Jürgen Ehret

Jürgen was born and grew up in Freiburg im Breisgau, Germany. He is an internationally experienced development engineer who learned his trade from the bottom up.

He completed an apprenticeship as an electronics technician with the Deutsche Bahn, obtained his Abitur (required for studying at a university) via the second educational path, and then studied electrical engineering at the University of Karlsruhe (TH).

As a young graduate engineer, he began his impressive career at BMW in the Research and Innovation Center (FIZ) in Munich. There he worked for many years in collegial, interdisciplinary teams on exciting projects that made him an expert in the art of engineering and also took him to the BMW Technology Office in Palo Alto, California. After many fascinating years in software development, Jürgen completed his doctorate at the Technical University of Munich (TUM) on the topic of “Validation of Safety-Critical Distributed Real-Time Systems” during his time at BMW.

Jürgen then moved to Silicon Valley, where he took off as a freelance software engineer. Both in established companies and in a start-up, he successfully mastered challenging software development tasks under agile working conditions for his customers.

In his projects, Jürgen has impressively demonstrated that theoretical knowledge can be successfully applied to solve practical tasks — thanks to his outstanding analytical and creative skills.

After returning to Germany, he founded the engineering company Ingenieurbüro Software Systems in Freiburg im Breisgau, Germany. The company develops customized software systems for its customers and offers them comprehensive advice and support.

Jürgen loves nature, which he enjoys as often as possible while hiking or jogging. And he loves to read interesting books.

His Curriculum Vitae provides you with further information on his impressive career.

Software Development with Passion

We develop the most powerful and reliable software system for you. It solves your tasks efficiently – guaranteed! We use all our skills, all our experience, and all our creativity to achieve this.

In the following areas, we have already successfully implemented projects:

  1. Design and implementation of software systems from idea to market maturity.
  2. Extension and optimization of software systems.
  3. Development of software packages for simulating and analyzing physical processes.

We focus on the highest quality standards and firm principles in development in order to develop first-class software systems. The “Manifesto for Agile Software Development” is not only a guideline for us, but also a motivation to live up to this high standard at all times.

“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.”

(Excerpt from: Beedle, Mike, et al. 2001. “Manifesto for Agile Software Development”. https://agilemanifesto.org/)

Section Headline

Projects & Technologies

Convince yourself of our competence with the following selection of successfully completed software projects and the technologies used: You too can benefit from our experience and expertise for your project. Contact us for a no-obligation consultation!

Symbol of Smartphone App

Computer Vision App

IBSoftSys

Symbol of Smartphone AppOut of interest in computer vision and digital image processing, Jürgen developed an application that simulates human vision and thinking when playing the SET® card game. Assuming normal lighting conditions, the developed smartphone app not only finds the right solution before all other players but also all solutions.

Software Tools

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

Details >

Symbol of Smartphone App

Computer Vision App

IBSoftSys

The idea for this app emerged at Laurelwood Elementary School in Santa Clara, California. As a volunteer, Jürgen played the card game SET® with second-graders in math class as group work, which trains visual perception and logical thinking. He kept imagining how a smartphone could take over his role as a referee.

Based on this vision, Jürgen developed the smartphone app AI Card Player. The app recognizes the colors and symbols of the playing cards, calculates all permitted combinations, and presents the solution to the puzzle in a very clear and understandable way.

Most of the development has been finding a reliable way to recognize the colors and symbols of the playing cards and translating that model into efficient software. Interestingly, the visual perception of playing cards and the learning of the symbols is a relatively easy task for us humans, but they do not represent a trivial problem for a computer system. In contrast, the replication of logical thinking seems to be child's play for a computer system. The implementation of the rules of the game only accounted for a tiny fraction of the development effort.

You can find more information about the app at the web page 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 interdisciplinary engineering teams at BMW, Jürgen developed software for electronic systems (embedded systems) for steering and drive systems in vehicles. After working for many years in the development department, Jürgen researched methods for developing software and hardware for future drive-by-wire systems for his doctoral thesis and BMW.

Software Tools

C/C++ Assembler ASCET VCC

Details >

Symbol Crash Test Dummy

Embedded Systems

BMW Group

In interdisciplinary engineering teams at BMW in Munich, Jürgen developed software for electronic control units (embedded systems) for steering and drive systems, which went into series production in the 3 and 7 series, for example.

His task was the development of real-time critical software systems that were used with different hardware configurations in many vehicle variants. The area of work included the creation of the first prototypes in the laboratory, the subsequent integration into the vehicle, system tests in the vehicle even under the most extreme climatic conditions and the support of the software systems after the start of series production.

The increasingly complex systems in vehicles, such as drive-by-wire systems, required the use of new methods and tools. In order to meet the significantly higher requirements for software and hardware, Jürgen developed and evaluated new approaches to developing such systems as part of his doctorate at the BMW Technology Office in Palo Alto, California.

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 SystemTogether with the GM Advanced Technology Office, Jürgen developed a model for simulating networked control units. Using the model, the engineers at GM were able to simulate and analyze the networking of the control units in new models.

Software Tools

C/C++ MLDesigner

Details >

Symbol of Model of Distributed Systems

Modelling & Simulation

GM Advanced Technology Office

General Motors (GM) in the USA was looking for a simulation model for distributed electronic control units (ECUs) in their vehicles. The overriding goal was to develop optimal system architectures for future vehicle models.

Together with Paolo Giusto, a scientist and engineer at the GM Advanced Technology Office in Palo Alto, California, Jürgen developed a model in the MLDesigner simulation program that can simulate the distributed ECUs. The heart of the model was a search algorithm that analyzed all possible communication channels and thus enabled a quantitative evaluation of different system architectures. Individually developed evaluation functions also allowed a simple analysis of the simulation results and rounded off the developed software package.

The simulation model, which is based on statistical methods, was accepted by the engineers and successfully used in the development department at GM.

Software Tools

C/C++ MLDesigner

Symbol of Test Software Systems

Software Testing

Cisco Systems & Crosstest

Symbol of Test Software SystemsIn the start-up Crosstest, Jürgen developed modules for a software tool that software developers use to test their C/C++ code. Later, Jürgen was part of the support team at Cisco Systems, where he developed methods for testing software and supported the automation of tests through shell scripts.

Software Tools

Java C/C++ Perl Shell Scripts

Details >

Symbol of Test Software Systems

Software Testing

Cisco Systems & Crosstest

In the start-up Crosstest,San Mateo, California, Jürgen and a small team developed a software tool that generates unit test cases for C/C++ functions. The tool supports software developers in testing their software functions in order to identify and eliminate errors in the code at an early stage. The CEO of Crosstest, Khalid Sebti, was very excited about a new software module that Jürgen was developing and remarked: “Jürgen, you have set the bar very high for us!”

With a similar goal in mind, Jürgen worked on a support team at Cisco Systems, San Jose, California. In the team, Jürgen developed shell scripts for test automation and general guidelines for testing software. Another important task of the team was to familiarize the software developers with these new tools and methods and to support them in their application.

Software Tools

Java C/C++ Perl Shell Scripts

Symbol of Search for Contacts

Web Page Filtering

Car Trade Service

Symbol of Search for ContactsJürgen developed a software program that searches the websites of an online vehicle market for contact details of car dealers that are of interest to the car trade service. The contacts found are prepared for commercial programs in such a way that the data can be easily imported there.

Software Tools

Python PHP Beautiful Soup JSON Selenium WebDriver Shell Scripts

Details >

Symbol of Search for Contacts

Web Page Filtering

Car Trade Service

A Berlin car trade service wanted a software program that would search the generated websites of an online vehicle market according to selected criteria (brand, price, etc.) and filter out contact addresses that were of interest to him from the flood of information.

A challenge in this project was the high number of requests to the web server of the online portal (more than 50,000) and the associated time delays or even interruptions by the web server.

The solution to the problem was to break queries into smaller units and save the intermediate results in a standard format. As a result, the data could ultimately be merged into the desired dealer lists, regardless of the Internet connection. The generated list can now be easily imported from a standard program, for example, Microsoft Excel or Apple Numbers, and displayed clearly as a table.

This solution made the software system not only more robust and scalable, but also faster.

Software Tools

Python PHP Beautiful Soup JSON Selenium WebDriver Shell Scripts

Section Headline