AME: an Abstract Middleware Environment for Validating Networked Embedded Systems Applications