This paper addresses the issue o j control integration in the area of software devvlopment environments and proposes a solution jor coordinating software development tools. W e first identify six main requirements that should be addressed tind show the limitation of elisting solutions. W e then describe the principles of Indra, a mechanism that uie have designed and develoyped to take into account the identified requirements in an appropriate manner. In particular, our proposal is based on the provision vf a declarative language t o erpress coordinations outside the code of tools i n a readable way. The language can also be used t o express the dynamzc evolutioit of coordinations explicitly, as a finite state machine. Finally, it allows selection of' running tools that generate or receive coordinations through a tree-basedl associative naming mechanism.