Validate hardware for independency from software


Goal is to show that software is implemented so that it runs independent from hardware where it is running on. I talk about complex systems e.g. with image processing, HW acceleration for graphic cards, lots of images, storage in tera byte size etc. Do you have any hints?

How can sofware run independent of harware?

I think you can (only) show that some requirements are met in an isolated environment. And that can be used as part of the validation package. But I don’t see that you can have a fully validated system without the integration, though.

The idea is to eliminate hardware specific parts in software so that the software is independent from any specific driver. One way in this direction might be on the one hand e.g. .net framework. Virtualization on the other hand might be a second method to reach the goal. But here there will be performance restrictions.

I see the problem. It is not easy to hide the idea of an implementation on the one hand and to get hints for a solution on the other hand.

I am on your way that only some of the requirements will be met. That is my conclusion upto now. - Concerning the task: “Integration” will be done in the first step. In the second step it might be that any kind of virtualization will lead to testing “without integration”.
The idea behind validation of software for being independent from hardware points also to

  • integration of the system
  • together with using e.g. graphic card 1 and
  • another system with e.g. graphic card 2 and
  • after integration having a set of tools that run on both systems and tell you without full product validation “yes, the system will do its’ job” OR “no, there will be e.g. performance issues not working with this hardware”.

I was going to recommend VMware for your issue. But after I re-read your post, I am not too certain. Without completely understanding what you are trying to accomplish, I am uncertain. Is this a standalone, non-networked solution. could you network it and and store images one place and process them in another?

yes, it is an approach where data is generated at one machine and viewing / data manipulation is done anywhere else at another (several other) machine(s). VMware will not solve the task in my opinion because in VMware e.g. a dedicated graphic card is emulated. I want to show something like independency between sw and hw. The easiest approach is to show it by exchange of the dedicated hw element and repetition for several hw elements from different manufactorers.


Is there anybody out there who did validation of software for different hardwares? Is there a general process used for task like this one? Do you have any hint e.g. on literature? Especially in the field of high performance computing I assume there should be a lot of experience in this topic.