By: B. Rubel
Published in: PLoPD1
Summary: Provide a natural decomposition of system requirements into a layered architecture. Mechanical control systems are used as an example.
Category: Architectural, Reactive and Real-Time Systems
To create a layered architecture: (1) Select and order a set of domains. (2) Reflect the real-world domains in the software domain to form a model of the real world. The real-world domains form architectural layers. (3) Add a layer on the software model with objects that organize the behavior of the model. (4) Add another layer that connects the previous layers to a client.
Given the layered architecture that results from using Pedestal, what can you do with the components that are part of different layers? Create a separate world for each domain. Information transfer between domains is enabled by a communication channel.
Layers of the architecture in Pedestal support reuse. Encapsulation hides the details of how components use objects in lower layers.
To model a relationship between two objects, implement the relationships in an object in a higher layer in the architecture.
Category: Design Process