Select Page

Embedded Software Engineering Expertise: ESE 2016 (Part 2)

MicroConsult offers services related to the topics that are discussed at ESE Kongress:
 Training, seminars, and coaching.

to.

Benefit from the experience of our embedded software engineering specialists and get in touch with us. We'd be happy to advise you.

MicroConsult training & coaching topics

Contact form


ESE Congress 2016 Contributions, Part 2 – Topics:


Lecture series: Multicore

Software Design Automation for efficient multicore utilization

Software distribution under performance and energy limitations

Maximilian Odendahl, CEO, Silexica GmbH (ESE Congress 2016)

The development of software for novel multicore systems presents numerous industries in the embedded high-performance sector with new challenges. Compared to existing single-core systems, the use of modern multicore systems requires not only functional verification and single-core optimization, but also the optimal distribution of the software across the various processor cores of the target platform. This involves not only considering timing and functional requirements, but ideally also minimizing performance and energy consumption. Even for small applications and target systems, this results in a multitude of possible solutions, the development and evaluation of which push existing, primarily manual, development approaches to their limits. Novel algorithms and tools from the field of software design automation can provide a solution. This article presents a novel tool-based solution approach in detail and demonstrates its advantages using an application example from wireless telecommunications.

Cross-platform software for multicore & FPGAs

Portable MATLAB®, Simulink and Scilab software development

Timo Stripf, Michael Rückauer, Oliver Oey, emmtrix Technologies GmbH (ESE Congress 2016)

The latest embedded systems are increasingly equipped with high-performance multicore processors and FPGA accelerators. This is necessary to meet the ever-increasing performance demands of applications while minimizing energy consumption. Currently, the programming of such heterogeneous multicore systems in companies is predominantly done manually. This is very complex, expensive, and time-consuming, posing a significant challenge for software developers. For this reason, many companies avoid using multicore processors altogether. The embedded systems market is desperately seeking programming solutions for multicore systems. This presentation will introduce tools for automated C code generation and parallelization using MATLAB®, Simulink, and Scilab for heterogeneous embedded multicore systems.

Multicore hardware tracing in practice

An industrial case study

Felix Martin, Maximilian Hempe, Michael Deubzer, Timing-Architects Embedded Systems GmbH (ESE Congress 2016)

The automotive industry is experiencing a steadily growing demand for increasingly complex embedded systems driven by innovative functions. The number of new functions implemented entirely through software will continue to rise, particularly in the areas of ADAS, connected cars, autonomous driving, and mobility services. This demand is met by higher-performance embedded systems that incorporate multi- and many-core controllers and are increasingly being deployed in traditional vehicle domains as well. This case study focuses on the traditional domain of steering, but its findings are applicable to other traditional domains as well.

One thing at a time!

Constructive and analytical methods for preventing race conditions

Gunther Vogel, Robert Bosch GmbH, Dr. Daniel Simon, Axivion GmbH (ESE Congress 2016)

Interrupts are frequently used to control embedded systems, and these require thorough planning and monitoring beyond a certain level of complexity. Simultaneously, multicore processors are becoming increasingly prevalent in otherwise resource-constrained environments, making concurrent programming a new paradigm for many (embedded) programmers. With the increasing concurrency of software, the risk of race conditions and, consequently, obscure, difficult-to-trace runtime errors in systems also rises. This paper presents a methodological framework for combating race conditions through constructive design and coding measures. To ensure that the product is free of race conditions upon delivery, measures supported by analytical tools must also be employed. The constructive and analytical measures are explained, and the paper demonstrates how the results can be efficiently managed throughout a development project.

Successful Multicore Certification with Software Partitioning

Efficient Implementation for DO-178C, EN 50128, ISO 26262

Sven Nordhoff, SYSGO AG (ESE Congress 2016)

The usage of multi-core processors (MCPs) in modern systems is state-of-the-art and will also come to reality in safety-critical domains like railway, automotive and avionic industry in near future. This fact is driven by different aspects. More and more functions traditionally implemented as separated electronic hardware units will be hosted on platforms where different functionality will be combined into one hardware. The industry wants to reach with the future family of high performance platforms larger scale integration on function level. Additionally new safety and security functions, information services and comfort features will increase the demand for more processing performance. Furthermore the industry has to deal with the fact that most of the manufacturers of CPUs will reduce the number of mono-core CPUs because the mass market does not demand this piece of hardware anymore. The possible technology improvements on mono-core CPUs has reached its limit to provide even more processing bandwidth with higher CPU clock frequencies, increase pseudo-parallel processing on instruction level through instruction pipelines and speculative program executions and by increasing the cache size and number of cache levels. Therefore the chip industry has switched to a multi-core design to accelerate the performance of processors. The question is: „Can a multi-core based platform reach the same level of determinism as a single core platform and can this be demonstrated?“


Lecture series: Requirements

When ideas have sex

How can I capture wild customer demands?

Maik Pfingsten, The Troubleshooter (ESE Congress 2016)

During my time as a troubleshooter, I spent over 10 years rescuing international development projects. The goal was always to get a project back on track and successfully completed within the next six months. To achieve this, I first rebuilt the team and assessed the load on the system under development. Finally, to develop a sound strategy for the subsequent, tough negotiations with stakeholders, I needed clarity regarding the requirements.

Debugging Embedded Systems Requirements before the Design Begins

Fabien Gaucher, Yves Génevaux, ARGOSIM SA (ESE Congress 2016)

This paper describes the major innovation offered by the STIMULUS tool in the field of requirements engineering. It will present its operating principles which will be illustrated with a specification item relating to the automobile domain, starting with the definition and the development of the requirements through their simulation up to the embedded code validation tests against those requirements.


Lecture series: Safety and Security

Technology meets law

Product quality and competitive advantage through knowledge of the legal liability system

Susanne Meiners, NewTec GmbH (ESE Congress 2016)

Technological innovations shape our everyday lives. These innovations must be aligned with existing law to protect the rights of those affected. Currently, many questions remain unanswered, especially regarding autonomous or self-developing systems, and data protection and data security. "Industry 4.0" is characterized by both uncertainty and hope: the media reports on hacker attacks and accidents involving autonomous vehicles, but also on technological inventions that simplify our daily lives and strengthen our economic position. The goal is to continue driving innovation and developing secure technical systems by gaining insight into the legal liability framework.

Safety is different, and so is security.

How does one deal with emergent system properties?

Dr. Thomas Liedtke, ICS AG (ESE Congress 2016)

The increasing proportion of software-implemented requirements leads to a growing number of vulnerabilities and potential attack vectors for exploiting weaknesses. Safety risks are often determined using deductive (frequently mathematical) approaches, employing established methods and probabilities. Highly improbable risks, whose impact is therefore difficult to assess, can be disregarded due to their low probability of occurrence. Only rationally conceivable causes must be considered in risk analyses. In the worst-case scenario, an attempt is made to achieve a fail-safe state. When considering security risks, even highly improbable threats and complex vulnerabilities are considered potential threats. Due to the conflict of interest inherent in attacks, inductive and random scenarios must also be considered in risk analysis. Furthermore, potential security gaps arising from emergent system properties must be taken into account. Antifragility becomes a necessary property to ensure preparedness.


Lecture series Software Engineering Management

The V Model is Dead. Long Live the V Model!

Dr. Royce Recommends an Iterative and Incremental Approach

Colin Hood, Colin Hood Systems Engineering (ESE Congress 2016)

This paper explains that a V-model documents relationships between information and does not restrict the sequence of creation of information. It also explains that a V-model shows that larger systems can be considered to be a number of sub-systems to aid specification, and that sub-systems can be further considered to consist of a number of components to aid specification. A V-model also shows that components can be integrated to create sub-systems, and that sub-systems can be integrated to create systems.

Software analytics in complex software products

Usable knowledge from data about software and development

Professor Dr. Rainer Koschke, University of Bremen (ESE Congress 2016)

This article describes techniques, methods, and tools of software analytics. Software analytics is the science of acquiring and evaluating data about a software product or its development. The following questions are addressed: What usable data is generated during the development process? How can the relevant data for a given question be identified? How can the data be collected? Which data mining techniques can be used to analyze the data? What tools are available for data mining? How can data be effectively visualized? What are its opportunities and risks?


Lecture series: Testing and Debugging

Evaluation of software verification tools

What can they do and what are their capabilities?

Authors: Ralf Gerlich, Dr. Rainer Gerlich, BSSE System and Software Engineering (BSSE), Christian R. Prause, German Aerospace Center (DLR) (ESE Congress 2016)

Software verification tools are designed to find errors in software. However, there is little information available about what these tools can actually do. Usually, only the manufacturer's description is available, which users can use as a (rough) guide. As a result, tools are often chosen based on ease of use or prevalence in the software community rather than their actual ability to find errors – which may differ from the manufacturer's specifications.

Use of debuggers in hardware-in-the-loop testing

Testing from module testing to system testing

Kristian Trenkel, iSyst Intelligente Systeme GmbH (ESE Congress 2016)

This article explains the use of debuggers for hardware-in-the-loop (HIL) testing. Two areas of application are presented: firstly, accessing the variables of the software of the electronic control unit (ECU) under test during runtime. This enables the implementation of white-box and grey-box tests in HIL testing. Secondly, measuring the code coverage of test cases without modifying the ECU's software. The implemented abstract interface allows the use of different debuggers without changing the test cases. A generic interface is available for accessing the software variables. Furthermore, the execution of code coverage is separated from the actual test cases.

Consistent metrics for determining testing activities

Always know how far the development has really progressed.

Ingo Nickles, Vector Software (ESE Congress 2016)

In modern software development, new functionalities must be implemented at increasingly shorter intervals. Source code becomes ever more extensive and complex, yet software quality is expected to remain the same or even improve. The biggest challenge is undoubtedly reliably predicting and adhering to release cycles. Often, effort is misjudged and resources are poorly allocated because project managers frequently lack a clear understanding of which code changes will require which resources.

Efficient unit testing in C++ and C

Proven methods for isolating and testing embedded code

Franco Chiappori, Schindler Elevators AG (ESE Congress 2016)

Continuous integration and automated testing are proven methods for improving software quality. Automated unit tests, in particular, are of great importance, as they form the basis of the test pyramid and thus guarantee the foundation of quality. Developers also appreciate the fast feedback cycles of unit tests. In practice, however, problems often begin with isolating the code to be tested. How do I isolate my C++ class or my C function from its dependencies?


Contributions to ESE 2016, Part 1

MicroConsult Newsletter

With the MicroConsult newsletter, you'll stay on the pulse of the embedded world. Look forward to proven practical knowledge, real professional tips, and current events – directly from our experts for your project success.

Subscribe now!

Published by

weissblau media

weissblau media