Sponsored by
Agile for Embedded
“When Pre-Canned Agile Doesn’t Fit”
Author: Mary Ann Johnson, Display Link
Agile working practices are sweeping through the software industry, but embedded software companies have been more reluctant to make the switch. In this session, we will explore some of the very valid concerns behind this, and follow DisplayLink’s journey so far in searching out tools and techniques that have worked in our context, developing silicon chips, embedded and host software.
By the end of this session, you should come away with a clearer idea of what Agile really represents, and an approach to making the journey towards the Agile methods that will work in your context.
Speaker
Mary-Ann Johnson loves figuring out what makes people tick, how to communicate across the technical/non-technical divide; and how to solve complex problems. Over the years, she has worn the hats of Firmware Developer, Team Lead, Scrum Master, and Product Owner.
Bi-Directional Requirements Traceability, Software Re-use and Iterative Development Practices
Author: Mark Richardson, LDRA
When requirements are managed well, traceability is established between development phases confirming that each is a complete implementation of its predecessor - and no more than that.
While this is a laudable principle, changes of requirements or code made to correct problems identified during test tend to put such ideals into disarray. Despite good intentions, many projects fall into a pattern of disjointed software development in which requirements, design, implementation, and testing artefacts are produced from isolated development phases. Such isolation results in tenuous links between requirements, the development stages, and/or the development teams.
This presentation will discuss these issues and explain how best practices and tools drastically reduce defects. It will explore how to connect the artefacts of the software development, what advantages transparency and traceability provide and how teams can best balance tools, process and domain expertise.
It will go on to outline how the next-generation automated management and requirements traceability tools and techniques can create relationships between requirements, code, static and dynamic analysis results, and tests. It will demonstrate how linking these elements enables the entire software development cycle becomes traceable, making it easy for teams to identify problems and implement solutions faster and more cost effectively.
Speaker
Mark Richardson has over 30 years of experience in real-time embedded software development. As a Lead Field Application Engineer with LDRA Software Technology, Mark applies his expertise in close collaboration with their numerous distributors.
Architecturally Driven, Iterative Development – a case study in project recovery
Author: Glenn Coates, York University
Scrum is a popular agile software development process used in various domains including embedded systems. Whist agile development is clearly beneficial for most software development projects, there are some attributes of Scrum which may be considered inappropriate for the development of high integrity embedded systems.
This paper considers a real world Scrum based project and the problems faced. The results of an initial project retrospective are illustrated. The paper then describes how the software development approach was overhauled in order to recover the project and secure its long term future. An agile software development approach is outlined to meet the needs of high integrity embedded systems. The results of a second project retrospective are then illustrated.
Speaker
Glenn is an embedded software engineer with 20 years of experience, working in the areas of defence, scientific instruments, JVM and firmware development. His roles include Architect and hands-on Team Leader, working as an independent consultant on both long term development projects and short term trouble shooting assignments. Glenn has a BSc(Hons) in Computer Science, an MPhil in hard real-time systems and a PhD from the University of York, designing a Microprocessor for reduced power consumption over existing architectures
Software development with an agile mindset in a non-agile environment
Author: Paul Tiplady, Malgorzata Polak, Dawid Polak, and Konstanze Bartsch, AVL
The automotive industry is not renowned for its agility, but many software engineers now entering the industry at the start of their career, or transferring from other industries, expect to work with agile processes, and have frequently experienced Scrum before. Agile processes are accepted as generally being a better way of developing software than the traditional waterfall process. Scrum, however, could be seen as a solution to a particular problem. If that’s not the problem we want to solve, Scrum may not be the best solution for us, despite an acceptance that agility is.
In this talk, I will outline the background to the traditional automotive software development process; the wider environment in which we apply that development process; the problems inherent in that process that we want to solve; the mindset that we try to adopt in addressing and solving those problems; and finally, AVL’s Real-World Experience of applying the solution we have developed.
Speaker
Paul Tiplady is a Software Development Team Leader with nearly 30 years’ experience in the automotive domain, and several years prior to that outside automotive. One of his many tasks is to introduce agile techniques into a non-agile environment.
Security and Safety
Murphy vs Satan: Why programming secure systems is still so hard
Author: Dr Roderick Chapman, Protean Code Ltd
In 2005, Ross Anderson and Roger Needham coined the phrase "Programming Satan's Computer" to
describe the problems of developing software for secure systems. Their point is illustrated by whatever is the latest high-profile bug, "celebrity glitch", or downright embarrassment in some piece of critical software that is supposed to be trustworthy. It might seem industry is unable to produce software with even the most basic levels of integrity (e.g. "it doesn't crash") let alone subtle application-specific security properties. Is the situation really that bad? Can we do better, based on what we know from over twenty years of building safety-related systems? This talk will reflect on my experience of deploying safety-critical software process and technology in building secure systems, and how these ideas can help all developers do better, even for systems that aren't "critical" in the traditional sense.
Speaker
Rod Chapman has spent twenty years building safety- and security-critical embedded software, and helping others do the same. He provides high-level consultancy in critical software engineering, and is a visiting professor at the University of York.
Real-Time Operating Systems
The µOS++ IIIe framework
Author: Liviu Ionescu, Aviation Instruments Intl
The µOS++ IIIe (micro oh ɛs plus plus third edition) project is the third iteration of µOS++, a POSIX-like, portable, open source, royalty-free, multi-tasking real-time framework intended for 32/64-bits embedded applications, written in C++.
Speaker
Born in the era of punched cards; studied computer science on mainframes, minicomputers and finally microprocessors and microcontrollers. High esteem for the original Unix design, since the good old BSD days. In early 90s, started the first commercial ISP in Romania, as part of EUnet. Currently the maintainer of several open-source projects, like GNU MCU Eclipse, µOS++, xPack, promoting C++ solutions for embedded systems.
Quality and Reliability
Measuring Software Quality
Author: Niall Cooling, Feabhas
“Quality” is one of those definition-free words that everyone thinks they understand and uses liberally to convince others that they are conscientious and rigorous when it comes to embedded software development. However, without a true understanding of “quality” – that is, what it requires you to do, why you should do it, and the consequences of doing it – it remains a meaningless buzzword. In this session, Niall Cooling will describe a quality framework, address the tools and techniques available to measure and enforce the different aspects of software quality.
Speaker
Niall Cooling is a Chartered Engineer and Feabhas founder. He delivers training and provides consultancy and mentoring to a wide variety of electronics companies ranging from smart metering, industrial control, telecommunications and defence. His training repertoire includes courses on the ARM Cortex family and Niall was a member of the steering group for the AAE/AAME accreditation programme.
Niall is also a regular guest speaker at industry conferences and events throughout the world and has particular interest in establishing a competency framework for Embedded Software Engineering.
The Cost of Standards Compliance – What to ask your Vendor
Dylan Llewellyn, QA Systems
Industry leaders want to produce high quality, safety compliant embedded software in the most cost-effective way. However, complying with software safety standards is a complex and time-consuming process. In order to verify code according to any major software safety standard, a certifiable/qualifiable tool is required to ensure that bugs are found early in the development lifecycle. Bi-directional requirements coverage is required by all major software safety standards and this is a labour-intensive process if done manually or without guidance. As a result, tool vendors should provide high level support for developers and evidence that the tool has been certified by an independent certification body. For standards such as DO178B/C which do not permit pre-certification of tools, evidence required on the tool qualification process should be provided with suitable guidance instead.
This presentation will cover how test automation and requirements traceability reduces the effort involved in achieving standards compliance. Information will also be provided on what to expect from a vendor in terms of certification evidence and guidance and what the cost benefits are from choosing the right vendor. From this, attendees will leave with the right set of questions to challenge their vendor with to ensure that they minimize cost and that their code is safety standard compliant.
Speaker
Dylan started his professional career in Sales and Business Development in the outsourced engineering services sector. Most notably in the provision of embedded systems, software engineering and turn-key product development in highly regulated, safety and mission critical sectors. He has extensive expertise on software verification for a wide variety of sectors and how automated tools accelerate the software certification process.
Automated protocol definition for data transfer for configuration and debugging
Author: Anto Joys, Yesuadimai Michael, Llarina Lobo Palacios, Sebastian Zuther, Valeo
The automobile industry has been continuously growing in complexity. Vehicles contain more and more electronic devices controlling internal systems, from infotainment to airbags. Moving further towards autonomous vehicles calls for more complicated mathematical algorithms. The parametrization and debug data necessary for robust software development and testing keep evolving constantly. All this together with the necessary customizations for different manufacturers, diverse vehicle models, introduces a lot of variances in the format of the data that needs to be captured for analysis. To be able to debug the corresponding software and reproduce the vehicle behavior, it is essential to know the values of such parameters. Manually keeping track of which values are taken by these parameters in each vehicle that is tested is cumbersome and error prone. Subtle changes in the debug data format across versions raise compatibility issues. Therefore, an approach is proposed in which the configuration comes together with the input data for the analysis. The configuration and the debug data protocol is generated automatically during the build process and provides full backward compatibility with minor restrictions. Furthermore, the sending of such information is optimized not to burden the transmission bandwidth.
Speaker
Anto Michael is a software architect at Valeo specialsing on implementation of complex mathematical algorithms in embedded software on microcontrollers for driver assistance systems in passenger cars. He has about 10 years of relevant industry experience.