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.