The Darwin software-evolution environment

The main goal of the Darwin software development environment is to establish a rigorous authorization-based discipline which can be used to impose constraints on the structure and operations of software systems as well as on their process of development Such constraints might be desirable to serve the following needs: • The need to provide support and enforcement for such software engineering techniques as informationhiding, data abstraction and modularization, even when these techniques are not offered by the programming language itself. •The need to support rules which govern the real enterprise being served by the system, and which must be invariant of the evolutionary behaviou of the system. • The need to enforce managerial policies concerning the process of system development itself.