
Presentation–abstraction–control (PAC) is a software architectural pattern. 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. The abstraction component retrieves and processes the data, the presentation component formats the visual and audio presentation of data, and the control component handles things such as the flow of control and communication between the other two components.[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. The agents (or triads) communicate with each other only through the control part of each triad. It also differs from MVC in that within each triad, it completely insulates the presentation (view in MVC) and the abstraction (model in MVC). 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.
History
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.[4]
See also
Notes
- ↑Kai, Qian (2009). "Interaction-oriented Software Architectures". Software Architecture and Design Illuminated. Jones and Bartlett Illuminated. p. 200. ISBN 978-0-7637-5420-4.
- ↑"Coutaz, Joëlle". Encounters with HCI Pioneers - A Personal Photo Journal. 2015-12-05. Retrieved 2018-11-23.
- ↑Coutaz, Joëlle (1987-10-01). "PAC". ACM SIGCHI Bulletin. 19 (2): 37–41. doi:10.1145/36111.1045592. ISSN 0736-6906.
- ↑ Unger, Claus; Bass, Leonard J. (09/01/2016). Ingeniería para la interacción persona-ordenador . Springer. pág. 43. ISBN 9780387349077.
- ↑ Nigay, Laurence; Coutaz, Joëlle (1991). "Building User Interfaces: Organizing Software Agents". ESPRIT '91 Conference. Bruselas, Bélgica: noviembre de 1991. CiteSeerX 10.1.1.53.606 .
- ^ Nigay, Laurence (enero de 1994). Conception et modélisation logicielles des systèmes interactifs : aplicación aux interfaces multimodales (PDF) (en francés e inglés). Tesis doctoral, 315 páginas, Universidad de Grenoble, Francia. págs. 131 a 268.
- ↑ Nigay, Laurence; Coutaz, Joëlle (1997). «Modelado de arquitectura de software: Uniendo dos mundos mediante la ergonomía y las propiedades del software» (PDF) . Métodos formales en la interacción persona-ordenador . Springer-Verlag. Capítulo 3, págs. 49-73. ISBN 978-3-540-76158-7.
Referencias
- Coutaz, Joëlle (1987). "PAC: un modelo de implementación para el diseño de diálogos" . En Bullinger, H.-J.; Shackel, B. (eds.). Actas de la conferencia Interact'87, 1-4 de septiembre de 1987, Stuttgart, Alemania . North-Holland. pp. 431-436 .
- Buschmann, Frank; Meunier, Régine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael (1996). Arquitectura de software orientada a patrones Vol. 1: un sistema de patrones . John Wiley e hijos. págs. 145 a 168. ISBN 978-0-471-95869-7.
- Calvary, Gaëlle; Coutaz, Joëlle; Nigay, Laurence (1997). "Del diseño arquitectónico de usuario único a PAC*: un modelo de arquitectura de software genérico para CSCW" . En Pemberton, Steven (ed.). Actas de la Conferencia ACM CHI 97 sobre factores humanos en sistemas informáticos, 22-27 de marzo de 1997, Atlanta, GA . págs. 242-249 . Archivado del original el 25 de agosto de 2007. Recuperado el 24 de mayo de 2006 .
- Coutaz, Joëlle (1997). "PAC-ing the Architecture of Your User Interface" (PDF) . DSV-IS'97, 4.º Taller Eurographics sobre Diseño, Especificación y Verificación de Sistemas Interactivos . Springer Verlag. pp. 15–32 .
- Markopoulos, Panagiotis (1997). Un modelo compositivo para la especificación formal de software de interfaz de usuario (PDF) . Tesis doctoral, Queen Mary and Westfield College, Universidad de Londres. pág. 26. Archivado del original (PDF) el 30 de mayo de 2006. Recuperado el 25 de mayo de 2006 .
- Avgeriou, París; Zdun, Uwe (2005). "Patrones arquitectónicos revisitados: un lenguaje de patrones" (PDF) . Actas de la 10.ª Conferencia Europea sobre Lenguajes de Patrones de Programas (EuroPlop 2005), Irsee, Alemania, julio de 2005. págs. 1-39 .
Enlaces externos
- Esquema arquitectónico del juego Warcraft tal como podría implementarse utilizando el patrón arquitectónico PAC: Programación de la aplicación PACcraft:Architecture (en francés)
- Patrón: Presentación-Abstracción-Control (descripción del patrón)
- Descripción de PAC en el Repositorio de Patrones de Portland
- WengoPhone es una aplicación de software VoIP gratuita escrita utilizando el patrón de diseño PAC.
- Descripción de PAC y justificación para su uso en WengoPhone.
- Código de demostración , cortesía de la comunidad OpenWengo.
- Cai, Jason; Kapila, Ranjit; Pal, Gaurav (21 de julio de 2000). "HMVC: El patrón en capas para desarrollar sólidas capas de cliente" . JavaWorld . Recuperado el 18 de julio de 2020 .
- Arquitectura de software
- patrones de diseño de software
- paradigmas de programación
- Interacción persona-ordenador
- Interfaces de usuario