X window system (the latest version is commonly known
as X11) is a software system which includes a set of network
protocols. It provides a basis for implementing graphic user
interfaces (GUI) for networked computers and consists of X
server and X clients. An X client, also called X application,
executes its application logic and requests X server to draw
user interface while X server assumes the responsibility of
managing the display hardware and handling the drawing
request from X client. The interaction between X server and
X client is the basis of X application development. At the
start of an X application, it must firstly connect to an X
server. After the connection is successfully built, the X client
typically listens on events forwarded from X server or sends
requests to X server. As a general pattern, an X application
executes looping to handle events and send requests based on
processing events. The interaction between application logic
and user interface in X window system can be manipulated
to fit the functional requirements of AASMP.