The Codename One Device Simulator allows us to run/debug applications for multiple devices. It allows sending device events and device manipulations such as rotation, physical input etc. It supports multiple device types using an open pluggable architecture and is entirely open source.
Due to its unique architecture the device simulator allows developers to use all their existing development & debugging tools to check the quality and issues that arise while developing mobile applications.
The device simulator is very fast allowing developers to instantly check their applications without waiting for a slow emulator to "boot up", while it is not a replacement for checking applications on a physical device it still provides very good parity with device functionality.