Design and specification of Programming Environment