A framework for experimenting with structure parallel programming environment design