Abstract
In this paper, we propose a methodology for specification and development of distributed cooperative systems. In our approach, for a given abstracted specification, a distributed Java program is automatically derived. The method consists of a stepwise refinement method of the abstracted specification and a code generation method from the refined specification. We discuss the details of these methods.