Explosive increase in end-user computing on distributed systems requires that end-users develop application software by themselves. One solution is given as a formula of “a domain model ≡ a computation model,” which implies that one task in cooperative work corresponds to one object in an object-oriented model. Application development environment, M-base1 , supports this formula. The application architecture is fixed and is composed of a model, a user interface and components. At the first stage, the system behavior is expressed as a message-driven model by using a modeling tool while focusing on message flow and components. At the second stage, a user interface is generated automatically and may be customized if necessary. Then transition diagrams of user interfaces are generated automatically and used for confirmation of external specifications of the application. Finally, the system behavior is verified by using a simulation tool. This component-based development proces...