Designing a complex software system is a cognitivelychallengingtask; thus, designers need cognitive support to create good designs. Domain-oriented design environments are cooperative problem-solving systems that support designers in complex design tasks. In this paper we present the architecture and facilities of Argo, a domain-oriented design environment for software architecture. Argo's own architectureis motivatedby the desire to achieve reuse and extensibility of the design environment. It separates domain-neutralcode from domain-oriented code, which is distributed among active design materials as opposed to being centralized in the design environment. Argo's facilities are motivated by the observed cognitive needs of designers. These facilities extend previous work in design environments by enhancing support for re ection-in-action, and adding new support for opportunistic design and comprehension and problem solving.
Jason E. Robbins, David M. Hilbert, David F. Redmi