We propose a systematic approach to support efficient reprogramming of WSN platform. The programming language naturally supports loosely coupled programs. The compiler significantly reduces the size of data for reprogramming. The VM reduces the additional energy consumption incurred by interpretive execution. We have evaluated the approach through real reprogramming cases.