EASEL - Extensible Architecting Support Environment with Layers


EASEL is a layer-based design environment developed at the Institute for Software Research at the University of California, Irvine.

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 (i.e. creating, evolving, or exploring alternatives designs). The activity of designing is a naturally iterative activity consisting of creatively constructing, evaluating, and improving alternatives that eventually coalesce into a single, desired solution.

The key insight underlying the EASEL approach is that this activity can be ideally supported by making two critical advances:

  • Provide designers with a layer-based design environment, as in layer-based graphical design tools, such that they can incrementally explore designs, views, and different concerns as appropriate. In EASEL, layers are modeled as change sets, which record coarse and fine-grained modifications to a design such as different design aspects, concerns, or variations on the same design, at different levels of abstraction.
  • Provide designers with an explicit means of governing layer interaction, as feature dependencies in product lines, such that conceptual knowledge about layer interaction can be separated out and explicitly manipulated. In EASEL, layer interaction is goverened by relationships, some of which are automatically detected while others may be manually added.

This combination balances the art of creative design with the science of engineering sound solutions to enable round-trip, exploratory designing. To download EASEL, go to the Easy Setup: Download and Run page.

What we see above is the first EASEL prototype for exploring product line architectures (PLAs). On the left we see a graphical depiction of one product architecture that is being edited. On the right we see a list of layers that capture different features of the PLA and a spreadsheet of relationships that govern which layer selections produce valid product compositions.

EASEL Applications

Following is a list of applications of the EASEL approach to different domains:

Product Line Architectures (PLAs)

The first EASEL prototype, supports designing product line architectures (PLAs). The concepts of EASEL naturally map onto the concepts of product line architectures: change sets capture product line variability (or features) while relationships capture feature compatibility by governing valid layer combinations. By selecting change sets, and applying them in a particular order, different products are composed. View our publications for more information on how product line architectures can be modeled using change sets and relationships.

Latest Updates

[December 2006] New release of EASEL prototype.

[June 2006] New release of EASEL prototype.

[February 2006] Release of initial EASEL prototype.

Contact Us

If you have questions not answered by this website, please feel free to contact Scott Hendrickson at shendric@uci.edu.


Effort partially funded by the National Science Foundation under grant number CCR-0093489, DUE-0536203, and IIS-0205724.