Tecniche model-driven avanzate per il miglioramento delle proprietà non funzionali dei sistemi software