The hardware platform is abstracted through a set of common application programming interfaces (APIs) that define the functionalities of the hardware, independently of their implementation.
The application software is shielded from hardware changes by making invocations to well-defined APIs for different types of hardware. To do this, SCA platforms provide software proxies called SCA Devices that interact with the software application using such well-defined APIs, and that forward the application’s invocations to the physical hardware using the latter’s native drivers. Changing the hardware therefore does not require any modification of the application software, it only requires an adaptation of the software proxy to use the new hardware via its own native drivers.
SCA Devices can be used as proxies to any kind of hardware for software development in embedded systems domains.