WHY XARCH?

Modeling a software architecture has traditionally been done via an Architecture Description Language (ADL). Many ADLs have been developed by the academic and industrial communities, including Meta-H, Acme, C2SADEL, Darwin, Rapide, and others. Each of these languages varies in what kinds of entities it can contain, what properties about these entities it can express, and how these entities may be connected together. Usually, these ADLs are augmented with tools such as compilers, constraint checkers, simulators, and more. These tools operate on only the ADL for which they were designed.

xArch is an effort to move away from proprietary ADLs and proprietary tool sets to a more open, flexible representation language for software architectures. Because at its core, xArch exposes those elements common to most software architectures (components, connectors, interfaces, and links) and places no constraints on how these entities behave or are arranged, xArch gives architects a good starting point for modeling their architectures. As software designers want to add properties to the representation language to model specific aspects of their software, they can extend the core language independently and incrementally to add these features. For instance, a designer might extend the core xArch schemas to introduce a typing mechanism, or configuration-management related properties. Because the language is XML-based, existing XML tools like Xerces, Xalan, and SOAP can all be leveraged to rapidly build tool support for new extensions. Additionally, extensions can be hierarchically arranged, meaning that a software designer can import and build upon xArch extensions (and associated tools) built by other members of the architecture community. Furthermore, because of xArch's extensibility, it is possible to build xArch extensions that allow it to faithfully and losslessly model legacy or proprietary ADLs. Translators to and from such ADLs can be constructed and xArch tools can potentially be used to analyze or manipulate these ADLs.