The layout of an Eclipse 4 application is now completely backed by a model. This is similar to the DOM of a web page that describes the layout and structure of the user interface although it does include other elements that may not be visual to the user (such as commands and handlers).
The modeled UI provides a very flexible way for developers to customize the way their application should look like. The structure of the application can be understood much more easily than the 3.x way of perspective factories and extensions as the containment model for each element is more well-defined. Stacks will contain parts and sash containers contains these stacks with sash drag handles providing the user with resize capabilities.
The model itself is created and maintained using EMF, and use EMF-style patterns for creation and adding elements to containers. Changes to the model are immediately reflected in the running application. The model is persisted on shutdown and restored on startup.