Notes

1 While definitions of architecture, component, and connector vary among researchers, this definition of architecture serves as a baseline for this technology description. A generally accepted definition describing the difference between a "design" and an "architecture" is that while a design explicitly addresses functional requirements, an architecture explicitly addresses functional and non-functional requirements such as reusability, maintainability, portability, interoperability, testability, efficiency, and fault-tolerance [Paulisch 94].