Maximum Efficiency & Flexibility in Software Engineering

Success Story

Initial Situation

  • PROGNOST Systems develops and distributes condition monitoring systems for industrial compressors in large-scale plants for monitoring safety-critical processes.
  • Several products based on system-on-chip systems (FPGA) are in use.
  • The company relies on Linux-based software (OS) and (proprietary) build tools from the manufacturer.
  • PROGNOST's engineers specialise in application development (high-level) and have domain knowledge for special evaluation algorithms.

Problem Statement

  • Diversity: Different tools are required for the development & maintenance of the software and the various products (versions), which leads to low flexibility & high complexity.
  • Update problem: SoC manufacturers do not provide regular updates for firmware or OS, only new versions. This leads to high maintenance and porting costs (several man-months) as there is little expertise in this area.
  • System requirements: The system requirements are relatively high, as backward compatibility with old products is required and only a small amount of memory (max. 16 MB) is available for the software.
  • Debugging issue: Existing development environments do not offer extensive and simple debugging options, and in particular no option for remote debugging via the network.

Process

Customer satisfaction is our top priority! That's why we take a multi-stage approach, thus reducing the technical and commercial risk and ensuring a high level of efficiency in implementation.

  1. Joint workshop with the customer on site
    1. Getting to know the teams
    2. Induction into the customer's systems
    3. Elaboration of the status quo and the problem definition
    4. defining the vision and the desired functions
  2. Concept development for implementation and presentation
    1. Detailed concept as the basis for technical developments
    2. Overview concept for communication with management
  3. Minimal proof of concept (PoC)
    1. Low costs & therefore risk for the customer
    2. Technical feasibility has been validated
    3. Transparent breakdown of the total costs for the project
    4. Initial functions could be tested by the customer
  4. Implementation of the production-ready solution & integration at the customer's site
    1. Agile development and transparent approach
    2. Regular coordination and reporting
    3. New findings are constantly incorporated into the development process
  5. Training the team on the new tools & processes

Goals Achieved

  • Development workflow: Implementation of a standardised development workflow with all the necessary tools.
  • Updates: Integration of the mainline Linux kernel for regular updates
  • Optimisation of the software: Optimisation of the software footprint for a memory requirement <16 MB.
  • Toolchain & IDE: Integration of the entire toolchain in the ‘VisualStudio Code’ IDE.
  • Software porting: Porting the existing embedded software (applications & drivers) to the new workflows and OS.
  • Debugging: Implementation of ‘one-click’ remote debugging for hardware and software via network.

Benefits for PROGNOST

  • Security: Simple integration of the latest security updates in the Linux kernel with minimal effort → simple and consistent roll-out to the customer.
  • Maintenance efficiency: Reduction of update and porting effort to days instead of months.
  • Access to resources: availability of tens of thousands of packages thanks to standardised Linux distributions.
  • Increased efficiency: development team concentrates on core topics (applications & algorithms), accelerated product development through standardised workflows and tools.

‘The fast understanding of the tasks and the high quality of the developments impressed us right from the start. Due to the transparent and efficient way of working, we repeatedly rely on the expertise of Danube Dynamics.’

Christian Koers, Head of R&D

Do you have similar challenges? We help you.