Functional Safety
Matimar can support you in ensuring your software meets your goals for safety, by providing help from experienced functional safety experts.
We can provide help with the complete range of functional safety activities for safety-related software-based systems:
- Functional safety processes development
- Functional safety management, including safety plan preparation
- Hazard and risk analysis (HARA)
- Safety concept design (FSC/TSC)
- Functional safety requirements development
- Safety fault analysis (FMEA/FMEDA/FTA)
- Freedom from interference analysis
- Common cause analysis
- Safety case creation
- Independent review, audit and assessment
Consultancy
Matimar can support your embedded software development by providing experienced engineers to provide advice, analysis, reviews, audits, or assessments. This service may be useful where your organisation does not have experience in a particular area and you need input to your decision making. It can also sometimes be useful to have input from an independent expert to supplement your in-house team.
Training and Mentoring
The most important single factor in software development success is people. Providing your software engineers and managers with a good level of knowledge in all aspects of the software development life-cycle in which they are involved is essential. Matimar can provide tailored training courses covering all aspects of embedded software development and functional safety of embedded software. Matimar training is focused on achieving software of high integrity, not simply communicating the basics, and is delivered by engineers with first hand experience of the subject area. Our training aims to provide knowledge that is technology and tool agnostic and can be applied to many different future projects, rather than rote-learning of the syntax of a programming language or how to use a specific tool.
Training courses alone are not sufficient to ensure sufficient knowledge of a new subject. There should be an on-going mentoring activity to support the use of the new knowledge on real projects. Matimar can provide experienced mentors to guide your engineers in the application of new knowledge. Mentoring can be provided as a package together with training, or separately.
Software Development
Matimar can support embedded system development at every stage of the product life-cycle, from prototype to production. Our particular strengths are: development according to safety and cybersecurity standards, “bare metal” software that extracts the maximum performance from smaller micro-controllers, driver-level code, and test software to support test automation.
We can provide specialist embedded software development for embedded applications involving microcontrollers or microprocessors on their own or within a larger system. We work with different micro-controllers, either “bare metal” or with operating systems such as AUTOSAR and create all levels of software – from firmware to application software.
Software troubleshooting
Where an existing embedded system is not meeting performance targets, or not operating reliably, Matimar can help by providing experienced engineers to help find difficult bugs and to re-factor code to remove inefficiencies and improve maintainability.
Matimar offers a range of services to help troubleshoot and optimise your embedded software. This can range from fast turn-round investigation and diagnosis to longer-term strategic product improvement projects.
We can advise on optimisation for software performance and reliability improvement against different system constraints – performance, reliability, functionality, cost, energy consumption.
We can carry out troubleshooting at both architectural design level, and code implementation level.
Software Architecture
For real-time embedded software, having a good architectural design is critical to achieving the desired performance, while keeping hardware cost down. Designing software architecture for embedded devices can be overwhelming due to a lack of internal expertise and experience in complex software development, system integration, and hardware knowledge. Architectural designers need to have a good understanding of the hardware processor and interfaces, software communication protocols, and the options for operating systems, as well as the required functionality and performance of the end product.
Our embedded software experts can help you to analyse architecture options, provide expert review of an actual (implemented) or proposed architecture, or to work with you to develop a complete architecture. We can assist in designing structured and organized software components in different abstraction layers, providing hardware independence, and facilitating software component re-usability and portability.
For embedded systems relevant to safety or cybersecurity, Matimar can provide expertise in these areas so that your architecture is designed to provide safety and security. Designing in safety and security from the start will provide ensure better outcomes that trying to achieve safety and security goals with an architecture that was not designed with these objectives in mind.
Process Development
Most embedded systems need a high level of reliability, as it is usually not simple to make code changes once the product is in production. Many are also safety-related. To be able to predictably deliver reliable software requires a process to be in place to ensure everything necessary is done to ensure the embedded software can be trusted. Matimar can support you in putting in place your own process, by providing experienced software process experts to advise on what needs to be done to comply with standards, to participate in creation of process descriptions, and to carry out independent reviews, audits or assessments of processes.
For embedded software relevant to safety or cybersecurity, Matimar can provide expertise in developing processes according to safety and cybersecurity standards.
Software Product Lines
In many situations it is desirable to have a single embedded software platform that can be configured and deployed onto multiple hardware targets and customer applications. This can significantly improve the time-to-market for new product applications, and improve the reliability of the product software. However, as to achieve this is difficult, in practice the software for each hardware variant and customer application is more often than not developed separately, creating a maintenance problem. Matimar can provide assistance in the areas of architectural design, processes and tools to support the introduction of a software product line approach to embedded software.
