Concurrent systems with dynamic interprocess topology present a new control problem in computer programming. Currently programmers are forced to describe topologies at a level analogous to that of the pointer or the goto statement. The investigator proposes the use of a technology based on graph grammars to control interconnections in a high-level, abstract manner. The computational agents in our system communicate through sets of ports. Each port is connected to a set of other agents. A graph grammar is used to specify the class of legal topologies, which may be altered by rewriting using a production in the grammar. This may change the connectivity of agents. A high-level selection mechanism is employed to enable an agent to select subsets of agents connected to particular ports for communication. Agents consist of a set of methods; when a message is received the appropriate method for processing that message is invoked. The research under this grant involves the investigation of language features and programming environment support necessary for a graph- grammar based approach to concurrent programming, the implementation of the system both on shared-memory and message-passing architectures, and the investigation of algorithms for the mapping of logical graph topologies onto physical processor topologies.