Presentation–abstraction–control

It is an interaction-oriented software architecture, and is somewhat similar to model–view–controller (MVC) in that it separates an interactive system into three types of components responsible for specific aspects of the application's functionality.

[1] In contrast to MVC, PAC is used as a hierarchical structure of agents, each consisting of a triad of presentation, abstraction and control parts.

This provides the option to separately multithread the model and view which can give the user experience of very short program start times, as the user interface (presentation) can be shown before the abstraction has fully initialized.

PAC was initially developed by French computer scientist, Joëlle Coutaz in 1987.

[2][3] Coutaz founded the User Interface group at the Laboratoire de Génie Informatique of IMAG.

The structure of an application with PAC.