Jungheinrich was founded in 1953 and is one of the world’s leading providers of solutions. With its comprehensive portfolio of industrial trucks, logistics systems and services, Jungheinrich offers customers perfectly tailored solutions for tackling the challenges of Industry 4.0.
In the past, the classic forklift truck was nothing more than a simple aid for moving goods around at the warehouse. However, in its modern incarnation at Jungheinrich it features safety and assistance systems to rival those of a luxury car. And just like in the automotive sector, innova tion is being driven mostly by the electronics and the associated embedded software: not only do the forklifts have integrated steer-by-wire and brake-by-wire systems but also sophisticated sensor and camera systems for optimum safety.
Various requirements have to be met by the trucks themselves and by the soft ware code. Examples include EN 1175 [Safety of industrial trucks] for the products and the MISRA C:2012 standards covering the code, which apply on top of the quality criteria that Jungheinrich imposes on itself in the form of specific coding guidelines.
The product life cycles are long, often spanning more than a decade. The resulting level of quality assurance required for these products is just one of the many challenges faced by the embedded software developers at Jungheinrich. When added together, the complexity of the systems, the time pressures of programming and the sheer quantity of projects involved (not only because of the various product series that all have to be overseen but also because of the new requirements that the market is constantly imposing on the systems) end up creating a colossal task for the entire team.
When it comes to handling the constant increase in embedded software projects, the key to success at Jungheinrich is the company’s agile software development process. To support this process and ensure the quality of the complex software and architecture is maintained going forward, the Software Development Team now relies on the Axivion Suite for its day-to-day work.
At its heart, the Axivion Suite is a set of tools for automated static code analysis. By carrying out regular checks, it detects various sources of error typically found in software programming, such as clones, dead code and cyclical dependencies. At the same time, the rule checker ensures compliance with the Jungheinrich-specific coding guidelines as well as important quality assurance standards such as MISRA C.
Currently, the Axivion Suite covers 100 % of the automatically checkable rules for MISRA C:2004, MISRA C:2012 and MISRA C++:2008. The Axivion Suite presents the results of the checks and analyses to users in the form of automated reports. However, the Axivion Suite does not just help developers keep track of newly created software components. Over the years, a vast pool of legacy data comprising several million lines of code has been built up at Jungheinrich due to the constant expansion of functions and product lines. By using the tool’s delta analysis function, the developers can also put this legacy code through automated test cycles. Code reviews of this kind tend to be extremely unpopular with developers, but at Jungheinrich, the Axivion Suite turns them into a manageable task that slots effortlessly into the day-to-day development process.
Developers do not have to get to grips with a new development environment because the Axivion Suite has been incorporated into the one already in use at Jungheinrich: Microsoft Visual Studio. Thanks to this seamless integration, they can continue working in the familiar IDE. As well as offering static code analysis, the Axivion Suite also contains tools for architecture verification, which means it is also the main tool for monitoring whether the software architecture requirements have been met. Whether it is a question of developing new products or enhancing existing ones, compliance with the architectural specifications is absolutely crucial to ensuring the long-term maintainability of the software and the high quality of the code. In the Axivion Suite, the architecture verification feature carries out checks at regular intervals to determine whether the code is consistent with the specified software architecture. This is modelled by the Jungheinrich software architects in the usual manner using IBM Rational Rhapsody and is fed into the tool suite via a direct interface to undergo further analysis. Any deviations from the architecture are flagged for developers in the same kind of structured reports as those used for automated static code analysis.
Right from the start, the introduction of the Axivion Suite was overseen by Axivion’s user-focused Professional Services Team. They helped ensure that the tool suite was quickly integrated into the existing development systems and that the Jungheinrich-specific requirements were incorporated for the code and architecture verification process. But that’s not all. The team also got the developers involved in the early stages of the new tool’s introduction: thanks to the thorough training sessions and one-to-one tuition, each employee learned how to use the Axivion Suite and its functions productively in no time.
Right from the start the new suite of tools enjoyed an incredibly high level of acceptance among the embedded software developers at Jungheinrich. The reason for this is that the training enabled each and every individual to integrate the Axivion Suite into their everyday work routine, with the rapid successes achieved also acting as a motivating factor. Thanks to the user-friendly interface and easily editable reports, there was a sharp increase in the willingness of developers to make changes to existing code. Even new employees can be brought on board and become productive in no time. This is because the documentation integrated into the Axivion Suite allows independent learning and people can teach themselves based on their needs.
Overall, the Axivion Suite is already making it easier for developers to carry out a daily code review, despite the persistently high time pressure and the ever-increasing system complexity. What’s more, the prompt feedback that the programmers get from the tool suite about any new code they create enables them to learn from it. In this way, they develop a deeper understanding of their software’s architecture and can apply their newly acquired knowledge directly to the next set of coding operations. This automatically boosts productivity and quality within software development.
On top of the rapid success already achieved, Jungheinrich is also gearing up for the future with the help of the Axivion Suite. Its embedded software developers are ready for further bursts of innovation and for the phenomenon that goes hand in hand with these: the continually increasing importance of embedded software - after all, software has always been, and remains, the basis of revolutionary new applications, and not just in the automotive market.