To ensure portability and complexity in the real-time system, a layered development approach is often used. In the layered system development approach, we have an Application Software (ASW) layer to provide application functionality and a Basic Software (BSW) layer that provides the abstraction between application software and the hardware platform through a number of services, e.g., real-time Operating System (OS), hardware drivers, etc. The motivation of this work is to use evolutionary techniques to autogenerate the configuration of BSW such that ASW’s multiple non-functional requirements of the system are simultaneously met.