...looking for the hardware presentation stream ?  - please visit HW/Expo

Day 1 - Presentations

Day 2 - Presentations

Presentations - Day 1

 

 

 

09.30 - 10.10

Become a GDB Power User

If you’re writing C++ for anything other than Windows, chances are that you occasionally break out GDB. This 40 minute session presents some of the lesser known features of GDB that can change the way you debug. GDB has come a long way in the last few years and does so much more than break, print, step and continue.

Reversible debugging; Non-Stop Mode; Multi-process Debugging; and Dynamic Printf are but some of its best features, and its built-in Python scripting is particularly powerful.

Join Undo Software co-founder and CEO, Greg Law, as he takes you through a series of demos to show some amazing tricks with GDB, and powerful new (and not-so-new) features that you may not have heard of.

Presented by Dr Greg Law

back to the top>>

 

 

 

 

 

10.15 - 10.55

Embedding the IoT – Developing cost-competitive GUIs for Mass Markets

The Internet of Things is exploding -- and for a variety of reasons that we'll explore in this discussion. The real question is how do we make the IoT useful within the context of everyday life and across a variety of different use cases?



It's estimated that 4 billion devices connected to the IoT will need a GUI. However, this presents a series of complications for developers. How do they harness the power of the IoT into a simple, sleek, usable GUI? Furthermore, consumers of the IoT demand technologies at the lowest cost possible.

Therefore, how do they harness the power of the IoT into that simple, sleek, usable GUI and how do they do it affordably? This is the embedded GUI dilemma.



Altia will discuss which industries are successfully deploying GUIs in the IoT and present examples about how companies are addressing these specific issues at the engineering and unit-cost level.

Presented by Julian Coates, Northern European Business Manager, Altia

 

back to the top>>

 

 

 

11.30 - 12.10

Battle-Hardened Process – delivering software quality in more than 300 projects a year

in the technology business for over 50 years, Cambridge Consultants produces software for clients across more than 300 projects every year – and we pride ourselves on getting each one right. When you build everything from ‘five 9s’ telecoms clusters, embedded sensors running for 10 years on a coin cell or surgical tools, that's only possible with a software development process that is as rigorous as it is adaptable.

Jonathan Pallant, principal engineer in Cambridge Consultants' wireless software group, brings this process to life by taking a walk through a 'typical' (as if there was such a thing) client project, offering practical battle-hardened processes for any size of software project.

back to the top>>

 

 

 

 

13.20 - 14.00

An Integrated Dynamic and Static Analysis Approach

Static and dynamic code analysis and testing are different worlds with different goals and challenges. Last but not least, they’re often performed without any traceability - is this still the case?

All functional safety standards recommend or require proof of 100% code coverage. 95% of the code is often more or less easy to cover but what can you do to cover the last 5% and meet your defined internal standard, or get your system certified?

The standard way is to perform manual analysis of small portions of the code base, followed by writing documents to describe the function of each line of code. This can be a very time consuming and error-prone way.

This presentation will discuss such topics as :

  • Static code analysis in functional safety projects
  • Boundary condition and worst case scenarios
  • Guarding against security vulnerabilities
  • Enforcing Coding best practices (internal and external)
  • How purpose-built tools simplify the qualification process
  • Dynamic software tests in functional safety projects
  • Integration of static and dynamic test environments
  • Static analysis as a contribution to code coverage
  • Optimize the use of testing resources

back to the top>>

 

 

 

 

 

 

14.05 - 14.45

Developing Safe Embedded Systems using Time-Triggered Software Architectures

This presentation will be concerned with the development of software for real-time embedded systems that need to be safe: the particular focus will be on designs that need to meet international safety standards and guidelines (such as IEC 61508, ISO 26262, IEC 60730 and DO-178).  The examples used in this talk will include automotive and industrial designs, and a household washing machine. Throughout the talk, I’ll have a focus on time-triggered (TT) systems. 

In most cases, the starting point for a successful TT design is a “bare metal” software platform: that is, the system will not usually employ a conventional “RTOS”, Linux™ or Windows®. In this software platform, a single interrupt will be used, linked to the periodic overflow of a timer. A ‘polling’ process will then allow interaction with peripherals.

Time-triggered (TT) architectures built on this foundation have been used for many years in industries such as aerospace, because they have been found to provide the basis for safe and reliable systems.

In recent years the wider benefits of this approach to software development have been more generally recognised. For example, according to the influential international standard IEC 61508 (2010), the use of a TT architecture greatly reduces the effort required to test and certify a system.

In this presentation, I will argue that TT approaches provide an excellent foundation for safe real-time systems because – during development and after construction – it is easy to model the system and, thereby, determine whether all of the key timing requirements have been met.  I’ll give examples of the kind of models that I have in mind (and demonstrate how easy it is to create them). 

During the presentation, I will also argue that the deterministic behaviour of TT systems offers significant advantages when the design is up and running because – since we know precisely what the system should be doing at a given point in time – we can very quickly determine whether it is doing something wrong.  Again, I’ll use some practical examples to illustrate how easy it is to perform precise run-time monitoring on TT systems.

A number of real-world examples will be used throughout the presentation.

Presented by Michael J. Pont, SafeTTy Systems Ltd

 

back to top>>

 

 


15.15 - 15.55

Code Coverage Approaches for Small Embedded Targets

Many of today’s software development projects mandate, through the application of software quality standards such as ISO 26262, DIN EN 61508, EN 50128 and DO 178B/C, that code coverage analysis be performed.

The reason so many industry standards specify the necessity of coverage analysis is because any errors in embedded software can be life-threatening. There is, quite simply, no margin for errors.



Coverage testing can present challenges when it is necessary to perform the analysis directly on the target devices where system resources such as RAM and ROM are low and interfaces to the external world are limited.

This presentation will consider these limitations, outline methods to enable coverage testing in these environments and offer an examination of the effectiveness of different coverage levels when applied to a codebase with special attention to small embedded targets. In addition, we’ll review key information about Safety Standards and the related coverage levels that they recommend.

back to top>>

 

 

 

 

16.00 - 16.40

Testing Complex Safety-Related Systems

Developers of complex systems (such as drones, autonomous cars, robots) have recognised that the current SW V&V techniques will not scale as these systems become increasingly complex.

The hardware verification faced a similar issue 20 years ago and developed new verification techniques to overcome this. Those techniques are now widely adopted and hardware developers are able to verify increasingly complex hardware so that they reach the market in a timely fashion and are able to function sufficiently for the target market.

This talk investigates the innovative application of those hardware techniques to the verification of software for complex systems. The talk will describe a variety of new verification techniques such as constrained random testing, assertions, functional coverage and automated checking. It will explain how they can be applied to software in a way that complies to safety development standards.

back to top>>

 

Presentions - Day 2

 

 

 

9.30 - 10.10

Working Agile but also in a Traditional Way! Building Bridges Without Loss of information

How can we gain powerful control over project progress and costs, support information traceability, give requirements engineers and test managers an option to specify and test in a traditional way but still keep our development process Agile?


 





One of the key issues to succeed with Agile methods in Software Development is that the user must be part of the development team: this is stated by one of the most popular Agile best practices. So apparently Agile methods cannot be applied to those projects with hundreds of users, especially when these users are dispersed around the globe and around the clock.

At Polarion Software we went through continuous process improvements over several years and we successfully applied Agile methods in software development together with a formal and more traditional Requirements gathering approach.

During my presentation you will :

   - realise that your requirement engineers still specify their product specification in a traditional way (e.g. V-model, waterfall, etc.) and your development team can work in an agile way working on user stories as part of Sprints and Backlogs.

   - figure out that even if you are working in different teams, in different process models maybe also in different countries there is an easy way to communicate to avoid misunderstandings.

   - notice why traceability connects an agile and a traditional way to develop a product and have a full coverage analysis from requirement down to source code.

  - understand that hybrid process scenarios can enhance your process because you can use the process which fits best for you and your teams.

 

back to the top>>




 

10.15 - 10.55

To Trace or Not to Trace? That is the Requirement

Bi-directional traceability of requirements with tests, provides an effective means to ensure that code implementation fully meets the software requirements. The technique is required by all the main software safety standards such as IEC 61508, ISO 26262, EN50128, IEC 62304, IEC 60880 and DO-178B/C.

In this presentation, we focus on how you can implement requirements traceability with unit and integration level tests in ways which seamlessly fit into the development workflow.

In particular we address the practicalities of how:

  • quality requirements definition and traceability, aid
  • quality test case design by developers.
  • requirements coverage, test coverage and code coverage create
    a complete picture.
  • requirements and test data, across different tools, can be
    integrated and managed for an efficient yet standard compliant workflow.

 

back to the top>>

 

 

 

11.30 - 12.10

Securing the IoT Gateway: Software separation and the connected Car

Embedded, connected devices are nothing new. Developers have been establishing Machine to Machine communications for 20 or 30 years, long before the Internet of Things was ever conceived.

But until quite recently, embedded applications have tended to be static, fixed function, device specific implementations. In the current environment of ever quickening technological change, morphism and evolution are the order of the day. Now we see manufacturers and service providers all seeking to monitor, upgrade, enhance and supplement software implementation on a continuous basis.

For example, imagine a car as an IoT gateway device, with many demands on its systems infrastructure. Of course, the manufacturer will be first in the queue, providing software updates to security critical aspects of the vehicle and monitoring its condition. But alongside this core functionality there will also be a host of Apps from the Store to enable and entertain. The navigation service provider, accessing continuously evolving road data. Insurance applications, monitoring probationary drivers to help minimize premiums. Media streamers with the latest movies. Games, advertisements, and a host of other possibilities as yet unrealized.

Using such vehicle systems as an example, this presentation will discuss how the cloud based multi-tenant architecture can provide the “dynamic evolution” functionality craved by manufacturers and service providers alike – and how use of a MILS enhanced Separation Kernel Hypervisor can provide the robustness and integrity to ensure that the security of the IoT infrastructure is never compromised.   


back to the top>>

 

 

 

 

13.20 - 14.00

From Garbage In - Garbage Out to Slopping Out!

Errors in specifying and developing systems - from an internet kettle to an autonomous vehicle - can have catastrophic, even fatal, consequences. When it comes to a court trial, which may even involve criminal charges, who will carry the can?

The writer of the imperfect specification that meant a plane crashed?
The coder who wrongly guessed at what was needed and caused car brakes to fail? The tester who missed the problem which left the system wide open to a black hat hacker?
Or the manager who didn't provide an appropriate development framework that would have stopped these things happening?

In this presentation we will look at the tools and techniques that should keep you out of jail.

 

back to top>>

 

 

 

 

14.05 - 14.45

Pragmatic Safety and Security-Critical Development in an IoT World

In reality, safety and security-critical development is “hard” and potentially very costly. There are many facets to developing a secure and ultimately safe system but it all starts with developing secure software.

Without secure software, devices will not be secure, and without secure devices, the system will be at risk.

So how do we develop safe and secure systems without blowing our budget and development schedule?

Security needs to be built into the software as it is being developed and not bolted onto the system later, when it may be too late. In this session we will explore how to create safe and secure software from the ground up using traceability, static analysis, secure coding standards, and automated verification techniques.

back to the top>>

 

 

 

15.15 - 15.55

Porting Windows Applications to Android Platforms

This presentation will explore the challenge of migrating Windows applications (C#/.NET) to an Android embedded platform.

It will discuss how an off-the-shelf solution (Xamarin) is now available to facilitate a successful transition, and will give an overview of this commercial cross-platform package.

             


The session will provide guidance on the options available, x86 vs. ARM, implementation details, technical aspects/concerns, and actual case studies.


back to top>>