Flexible design of complex high-integrity systems using trade offs

Large-scale complex embedded systems pose unique problems. To reduce overall development times, there is a need to develop the system in a concurrent fashion, involving the development and verification of software at the same time as designing, building and verifying the hardware. This requires a two-phase trade-off analysis approach to the hardware software co-design problem. The first phase is platform independent: it allows system requirements to be met and also supports other important objectives, e.g. scalability, upgradeability. The results of the first phase include deriving requirements and design constraints placed on the platform dependent phase (e.g. resource budgets including time). The second, platform dependent phase, chooses the actual software and hardware implementation that satisfies the requirements derived in phase 1. This paper addresses the first part of the problem through trade-off analysis. This establishes the design decisions in a traceable manner whilst capturing the rationale and assumptions made. It then searches the design space for the solution that best meets the system's objectives. The approach has been developed for the needs of critical systems and has already been applied to the logical design of systems.