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