Presentation abstraction control

from Wikipedia, the free encyclopedia

Presentation-Abstraction-Control or English Presentation-Abstraction-Control ( PAC ) denotes an architecture pattern for structuring interactive software systems.

If you want to develop these systems in such a way that they consist of individual parts that each offer a part of the system's tasks and thus maintain a high degree of flexibility in the system, then you have to ensure that these parts are put together and also into a functioning whole work together. PAC is a model for a software architecture that ensures this.

The model-view-controller pattern (also an architecture pattern for interactive software systems) is not sufficient for these applications and so PAC goes beyond this. It divides a system in two directions, once into the three units graphical user interface ( presentation ), switching and communication ( control ) and the data model ( English abstraction ) - this is similar to the MVC - and furthermore hierarchically into different parts, the As requested at the beginning, each offer a part of the system's tasks. These parts are called "agents" in the PAC pattern and they represent the first stage of structuring during the architectural design. This means that the design begins with the distribution of the entire requirements to individual agents and the hierarchical structure is based on this. In the second step of the design, each agent is then divided into the aforementioned components, representation, abstraction and control.

Hierarchical structure

The structure of a software architecture according to PAC

The hierarchy of PAC is divided into three layers, the top-level agent, the intermediate-level agent and the bottom-level agent. The former occurs only once in a system and takes on all global tasks, such as B. the database access. The bottom-level agents offer the actual functions of the interactive system, each of which has its own, preferably closed, function and should not have any dependencies on other bottom-level agents. The intermediate level agents form the interface between the lowest ( bottom level ) and the uppermost ( top level ) layer and combine several bottom level agents to form a unit, a subsystem. These sub-systems can also be further hierarchically divided, so that a sub-system can also consist of one or more others and then an intermediate-level agent combines several other intermediate-level agents.

The architectural design begins with the distribution of the required functionality to several bottom-level agents. Then you define the top-level agent or the functions that it has to perform. The hierarchy is then completed with the definition of the intermediate-level agents, which represent a combination of bottom-level agents and give them access to the top-level agent.

Distribution of agents

Each individual agent is structured into the three components. First, the graphical user interface (representation or presentation ), which includes the complete input and output and is not split up again as in the MVC model. The second component is the abstraction ( Abstraction ) which implements the data model of the agent. The third component, the switching and communication (or control Control ) provides the connection between the other two components forth and enables communication with other agents. This makes them the central interface that enables the individual parts of a system to work together in the PAC model.

It is not imperative that every agent has all three components, but every agent brings the user interface and the data model for its task. So it is also possible that z. For example, an intermediate-level agent only summarizes the agents below in a window and displays them, but does not require any data. However, each agent must have the control component in order to enable communication with other agents and between the components.

Strengthen

The great strength of the PAC pattern lies in the fact that the functions of the overall system are broken down into individual, semantically separated parts, which are implemented by agents. This means that the functionality can easily be expanded with additional agents. The internal structure of the agents ensures good maintainability.

weaknesses

The most important weakness of PAC is the increased system complexity, which is caused by an increased coordination and communication effort between the agents. The control components can reach a high level of complexity and are the critical point in the implementation of this pattern, which requires special attention.