Exploring abstract interfaces in system-on-chip integration