Using Domain Specic Languages for platform-based software development: the case of Android