XAL sta per (XML Automata Language). E` un linguaggio per definire applicazioni orientate al web, e non, sotto forma di automi. Esso consente di definire un'applicazione come un insieme di stati, legati assieme da transizioni che "scattano" quando si verificano determinati eventi.
Una caratteristica di XAL e` quella che consente di specificare esplicitamente dei vincoli temporali che vanno rispettati, affinche` determinate transizioni possano effettivamente avvenire.
A ciascuno stato, poi, andranno associate due "funzioni": una di azione e una di metrica. Vedremo poi che queste "funzioni" possono essere vere e proprie funzioni come intese al PHP, metodi di classi o chiamate a web service remoti.