J. Andrés Díaz Pace - Research: DesignBots

The DesignBots approach provides tool assistance for the exploration of design alternatives in architectural design using planning techniques. This approach was the subject of my doctoral thesis.

Context

Architecture-based design consists essentially of making certain decisions whose results will affect various quality attributes of the architecture being developed. Given a set of architectural requirements, it is possible to have multiple design solutions that somehow satisfy these requirements, usually making different tradeoffs among quality attributes. However, the elaboration of these designs is still a technically difficult problem, because it naturally involves a complex process of searching, evaluation and composition of design fragments. Although some handbooks documenting proven design practices exist, this knowledge lives mostly in the architect's mind.

In order to alleviate this problem, DesignBots focuses on the exploration of design alternatives for an initial sketch of the architecture, where these alternatives are generated on the basis of predefined design operations driven by quality-attribute goals. Moreover, these operations and goals are organized around a hierarchical and mixed-initiative planning system, which enables a semi-automated tool to assist the architect's design activities.

Figure. The DesignBots multi-agent framework

The main contributions of this approach are that reduces the inherent complexity of evaluating architectural solutions, and provides an framework amenable for automation to make design decisions in the context of architecture-based design methods.

Current Objectives

  • Support for capturing and reasoning about design decisions
  • Optimization of the planning features
  • Incorporation of more quality-attributes (e.g., security, availability, usability, etc.)
  • Better management of tradeoffs
  • Support for UML2 + UCMs as architectural notation
  • Integration with SEI's PAD procedure (Predictable Architecture Design)

Implementation

  • The DesignBots prototype was originally implemented in Java, where the planning engine relied on an HTN-like planner based on JavaLog
  • Currently, the whole tool has been re-designed to work as an Eclipse plugin

Figure. Snapshot of the DesignBots planning engine

Related Publications

  • DesignBots: Supporting the Exploration of Architectural Designs with Planning-based Assistance. Diaz Pace, J. Andrés - Campo, Marcelo R. Submitted for publication.
  • Exploring Alternative Designs: A Planning Perspective of Software Architecture Design. Diaz Pace, J. Andrés - Campo, Marcelo R. Submitted for publication.
  • A Planning-based Approach for the Exploration of Quality-driven Design Alternatives in Software Architectures. Diaz Pace, J. Andrés - PhD. Thesis. ISISTAN Research Institute, Faculty of Sciences (UNICEN University). September 2004, Tandil, Argentina.
  • Towards a Planning-based Approach for the Exploration of Architectural Design Alternatives. Diaz Pace, J. Andrés - Campo, Marcelo R. Proceedings ASSE - 32 JAIIO 2003 - SADIO. Buenos Aires, Argentina. Septiembre 2003.

For more information, contact to adiaz@exa.unicen.edu.ar

 

 

Copyright © 2005 ISISTAN. All rights reserved.