Welcome to the xADL Homepage!
This is where you can find all of UCI's latest enhancements and tools for the xADL software and systems architecture description language (see below for description).
If you're a software or systems engineer visiting this site for the first time, you've probably got your own ideas about architecture description notations. We've added a page covering how xADL is different from other ADLs and how to use it in your own projects called "The xADL Way".
The xADL language itself is not bound to any particular architectural style, tool set, or methodology. xADL and tools such as Apigen and the xArch/xADL Data Binding Library can be used by themselves, independent of any particular development environment or domain. However, we have integrated many more advanced xADL tools in the ArchStudio Architecture-centric Development Environment. Most users interested in working with xADL will want to download and use ArchStudio as well as the basic xADL tools.
What is xADL?
xADL is a software architecture description language (ADL) developed by the University of California, Irvine for modeling the architecture of software systems. Unlike many other ADLs, xADL is defined as a set of XML schemas. This gives xADL unprecedented extensibility and flexibility, as well as basic support from the many available commercial XML tools.
The current set of xADL schemas includes modeling support for:
- run-time and design-time elements of a system;
- support for architectural types;
- advanced configuration management concepts such as versions, options, and variants;
- product family architectures; and
- architecture "diff"ing (initial support).
We plan to extend this set as our research interests evolve. Users of xADL are free to choose elements from this set or create their own extensions as needed.
xADL is also an application of xArch, a core XML schema defined jointly by UCI and Carnegie Mellon University. More information about xArch can be found in the next section.
What is xArch?
From the main xArch webpage:
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.
Previous Versions of xADL
If you are looking for an older version of xADL, the following are available:
If you have questions not answered by this website, please feel free to
contact the software architectures group at UC Irvine through the
ArchStudio developer's (mailman protected) email list at:
archstudio-dev [@] uci