At UCI, we have written a number of freely available tools to assist in development of software using sound architectural principles. For information on older software architecture projects developed at UCI, please see our legacy software page.


Apigen is an XML schema-to-Java data binding generator for xArch schemas that automatically generate those libraries based only on the XML schemas.


ArchEvol unifies architectural development with implementation by providing the means of maintaining a consistent linking between architectural and source code entities throughout software evolution. ArchEvol does not solve the problem of consistency between architecture and implementation by itself, but instead provides the necessary tool support.

ArchStudio 3.0

ArchStudio 3 is an architecture-driven software development environment written in Java. It is designed to provide a number of well-integrated tools to promote sound software architecture practices. While ArchStudio is written in the C2 architectural style, it can model many different architectural styles. ArchStudio 3.0 contains the latest version of the c2.fw framework and KLAX. It includes support for the xADL 2.0 architecture description language. You may download the latest version of our software from the Software Update page.


EASEL is a layer-based design environment. While many environments have focused primarily on documenting a design (i.e. after it has been created), the goal of EASEL is to support a designer in the activity of designing: a naturally iterative process consisting of creatively constructing, evaluating, and improving alternatives that eventually coalesce into a single, desired solution.


PACE is an architectural style for trust management in decentralized applications. PACE provides a set of principles and constraints that provide comprehensive guidance on what trust components to include, how to place these components appropriately within the architecture of a decentralized entity, and how these components should interact for effective trust management.

xADL 2.0

xADL 2.0 is a set of libraries that provide a convenient interface in Java to xArch and xADL 2.0 extensions.