Cross-Layer Optimisation of Wireless Systems