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.
|