  Developing mobile applications remains difficult, time consuming, and
error-prone, in spite of the number of existing platforms and tools. In this
paper, we define MoDroid, a high-level modeling language to ease the
development of Android applications. MoDroid allows developing models
representing the core of applications. MoDroid provides Android programmers
with the following advantages: (1) Models are built using high-level primitives
that abstract away several implementation details; (2) It allows the definition
of interfaces between models to automatically compose them; (3) Java native
android can be automatically generated along with the required permissions; (4)
It supports efficient model-based testing that operates on models. MoDroid is
fully implemented and was used to develop several non-trivial Android
applications.
