Abstract. We present an environment supporting the flexible and application-specific construction of design plans, which avoids the insurgence of unsuccessful design plans at design time, and is thus backtracking-free. During a planning phase the collection of all complete, executable design plans is automatically synthesized on the basis of simple constraint-like specifications and the library of available tools. The designer's choice of the best alternative is eased by a user friendly graphical interface and by hypertext support for the generation and management of plans, as illustrated along a user session. Example application field is the generation of design plans in a CAD environment for hardware design.
MotivationTo master the complexity and variety of system-level design, flexible environments are required, which efficiently support reuse, 'design in the large' strategies and teamwork. In particular, a rich collection of design tools with different application profiles is needed to allow an application-specific treatment of complex design tasks. We focus here on a concrete application domain, and consider the functionality of CAD Frameworks. Themselves large and complex software systems, frameworks like e.g. NELSIS [17], CADLAB [10], or the Jessi CAD Framework [11] have succeeded to provide VLSI designers with sophisticated and user friendly project management wrt. data and design execution flow. As such, they are widely used, mainly to enforce standard design plans, i.e. predefined successions of activities (e.g. synthesis, verification, simulation, test pattern generation, and -at the physical design level -placement, routing, binding, etc...) which are carried out to get from a circuit specification through many successive design steps to the corresponding layout masks for physical realization on chips.CAD frameworks are good at enforcing a prescribed plan of design activities, but they still offer little support for advanced, application-specific synthesis of design plans involving a flexible use and combination of available tools. Flexibility is however increasingly needed, since projects become larger, tool functionalities