Automated code and
Success Story in collaboration with Jungheinrich
Automated code and architecture verification for agile software development
All around the world, people associate the name Jungheinrich with high-performance industrial trucks and logistics systems – including for Industry 4.0 applications. At its Norderstedt factory near Hamburg, the company produces pallet trucks, reach trucks and order pickers. This is also where the control unit software gets developed for the various product series. For Jungheinrich, it is important to maintain the high quality of its software and the underlying architecture while at the same time remaining agile in the face of complex systems and dynamic market requirements. For this reason, the company is now relying on support from the Axivion Suite.
THE CHALLENGE ++
In days gone by, 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 saloon car. And just like in the automotive sector, innovation is being driven – in particular – 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 software code. Examples include EN 1175 (Safety of industrial trucks) for the products and the MISRA C:2012 standard 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 mammoth 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 that the quality of the complex software and architecture is maintained going forward, the Software Development Team now relies on the Axivion Suite for its dayto-day work.
THE SOLUTION ++
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 per cent 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 longterm 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 so that it can undergo further analysis. Any deviations from the architecture are flagged up to developers in the same kind of structured reports as those used for automated static code analysis.
Right from the word go, the introduction of the Axivion Suite was overseen by Axivion’s user-focused Professional Services Team. They helped ensure that the tool suite was rapidly 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 next to no time.
THE SUCCESS ++
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 a flash. This is because the documentation integrated into the Axivion Suite allows independent learning so that people can teach themselves.
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 there and then. 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.
ABOUT JUNGHEINRICH ++
Jungheinrich was founded in 1953 and is one of the world’s leading providers of intralogistics 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.
More information about Jungheinrich www.jungheinrich.com/en
Image rights: © Jungheinrich Norderstedt AG & Co. KG