Welcome to the xArch website. xArch is a standard, extensible XML-based representation for software architectures. xArch provides a common core XML notation for architectures that can serve:
  • as a simple stand-alone representation for architectures. Specifically, xArch provides a common set of bare-bones features that can be used to model an architecture.
  • as a starting point for other, more advanced XML-based architectural notations. Specifically, the common core can be reused while support for other, more advanced ADLs (e.g., Acme, C2SADEL, Rapide) can be added through the creation of XML namespace extensions.
  • as an interchange mechanism for architectural descriptions. Specifically, translators can be built to and from the XML notation.
xArch currently consists of a single XML schema for defining the instance structure of an architecture. In a nutshell, the instance specification of xArch provides the following facilities:
  • components, connectors, interfaces, and links
  • subarchitectures (for hierarchical construction of an architecture)
  • groups (to logically group architectural entities, for example by location, author, security level, etc.)
A series of extensions are currently under development and will be available soon.



xArch was developed as a collaboration by researchers from the University of California, Irvine and Carnegie Mellon University. Primary contributions were made by: but the involvement and contributions of many others are certainly acknowledged.


The development of xArch was funded by the DARPA DASADA (Dynamic Assembly for Systems Adaptability, Dependability, and Assurance) program.