Reference architecture

An implementation of a reference architecture is called a framework or an application platform.

A highly abstract one might show different pieces of equipment on a communications network, each providing different functions.

A lower level one might demonstrate the interactions of procedures (or methods) within a computer program defined to perform a very specific task.

A reference architecture provides a template, often based on the generalization of a set of solutions.

In the field of software architecture, many empirical studies have shown the following common benefits and drawbacks from adopting a software reference architecture within organizations: (a) improvement of the interoperability of the software systems by establishing a standard solution and common mechanisms for information exchange; (b) reduction of the development costs of software projects through the reuse of common assets; (c) improvement of the communication inside the organization because stakeholders share the same architectural mindset; and, (d) influencing the learning curve of developers due to the need of learning its features.