“…Semantic modeling languages allow the definition of the main system functions that are to be interactively delivered to the user, resembling typical API specifications, while the generation of a user interface is automatically performed, based on heuristic transformation rules (e.g., every function becomes a button, while every argument, depending on its type, becomes an input field). Examples of such systems are IDL (Foley et al, 1988), which provides also pre-conditions and post-conditions for function availability, and Mickey (Olsen, 1989), which offers a Pascal-like language for defining application functions and engaged data types. Languages such as Slang of the Serpent UIMS (Bass and Coutaz, 1990, pp.…”