Modeling and Execution of Software User Interfaces