Systems Engineering
BHC provides systems engineering services for electronic systems.
An electronic system comprises hardware and software. It has interfaces – electrical, structural, thermal, electro magnetic and towards a user.
The systems engineering starts with finding needs. Identify problems. What can be done? Which are our capabilities? Trade off between solution alternatives.
Defining an initial system model Studying use cases and scenarios. Refining the model. All this in several iterations as needed.
Requirements Management
From the system model, the use cases and the scenarios, we can start eliciting user requirements.
Design requirements are defined based on available technologies and capabilities.
The First Principle way of thinking is applied
The system model, the user requirements and the design requirements are kept evolving using the agile principles.
Functional Safety
Depending on the industry domain, the functional safety is defined by different standards which have large commonalities.
BHC has vast experience in safety related systems within automotive (ISO26262:2118) and space.
Dependability and Safety
A Fail Safe system must have defined safe states in case of a failures. A safe state can be Fail Silence, which means that the system stops.
For a Fail Operational system the safe states maintain a sufficient functionality.
For a Fail Safe system the correctness and the transition to a safe state must be ensured independent safety mechanisms.
For a Fail Operational system, independent functional redundancy is needed. Also the transition from the nominal to the redundant chain must be performed by independent safety mechanisms.
The system safety is verified by analysis such as FMEA, DFA and FTA. FMEDA is applied to the safety mechanisms.
Test and Verification
Design verification is applied in the development stage to ensure correct functionality with the full range of parameters (Environments, full range interface parameters, full range of performance loading, parts tolerances, lifetime etc). Verification is performed by test and analytical methods.
Qualification is a form of design verification to be applied on new design concepts and component types.
Conformance verification is the acceptance testing to be performed on every produced unit. It is performed in a limited set of representative environments to ensure conformance on production and part quality.
Agile Engineering
The agile manifesto (AM) is supported, but care must be taken to ensure the quality needed for dependable system.
AM: Individuals and interactions over processes and tools
Comment: We fully support this, but the basic processes and tools are mandatory.
AM: Working software over comprehensive documentation
Comment: When working with dependable computing, documentation is mandatory.
Keeping this at the right level is an art.
AM: Customer collaboration over contract negotiation
Comment: We need both. A trustful partnership with clear rules and responsibilities is mandatory.
AM: Responding to change over following a plan.
Comment: If a bug is found and a change is needed, it must be implemented or at least the consequences understood and accepted. Therefore a process for fault handing and change management is needed.
AM: That is, while there is value in the items on the right, we value the items on the left more.
Comment: Yes, and in dependable, safety related computing we value them even more.