Software development faces a critical productivity problem, because the process relies on mostly manual methods. Software product quality has declines as complexity and reliability expectations have increased. The information management demands overtax existing project management and document preparation procedures. This has created an ever-increasing mountain of development and maintenance backlogs. The most pressing need is automated support for management of complexity. idi's previous work with commercial and government clients has helped us identify the requirements for a workstation-based software development environment. The key to realizing the benefits of this automation is to integrate these tools by sharing information and presenting a consistent and powerful user interaction method. The goals of a software engineering environment are to provide significantly improved productivity and product quality. The environment must automate more life cycle tasks, and control the developing product with better information management. It must address that entire life cycle, with changes to the relative distribution of effort (increase analysis, decrease maintenance). The environment should support the use of modern methods and techniques such as requirements and design modeling/simulation (including prototyping), and provide support for existing standards: ADA (programming), 2167 (documentation). Finally, the workstation which hosts the environment must provide an "open, flexible, extensible" architecture. This architecture will unify and integrate existing (stand-alone) tools, cope with the existing diversity of hardware, and eventually incorporate all knowledge BAES and expert system techniques as they mature.