We are currently researching a new form of multi-dimensional software architecture. Traditional architectures are typically one dimensional. Some of the most well know one-dimensional architectures are 3-Tier
architectures*. These one-dimensional architectures organize a system based on only one characteristic of the system, object behavior (is the object a "view" object? or is it a "model" object?). Multi-dimensional architectures organize a system based on more than one characteristic of a system simultaneously (one of the most well known is Multi-Dimensional Separation of Concerns - MDSOC).
One of the toughest challenges in designing large systems is managing the great deal of complexity from the numerous objects and all their different relationships. Multi-dimensional architectures better manage this complexity by allowing architects to organize these objects in multiple ways. The goal is that the developers of these systems should more easily understand the system organization, reducing the learning curve and thus, development time. We are researching a new form of multi-dimensional architecture called N-Dimensional Architecture with Scaling. We hope this work will provide software architects and developers with new, beneficial ways of designing their software systems.
*Note: Many software architects consider MVC and 3-Tier Architecture to be relatively very different, operating at two different levels of a system architecture. If you think of these two as they do, they can even be used together in the same system.