There are different modeling perspectives. Which perspective do you want to model. In model driven development approach, model can be the base of code.
User perspective - managing device and its resources: messaging, voice communication, making use of sensors, managing files, managing data etc. Some domain-specific languages allow to create one model which is enough to generate the whole working application, I want to achieve something similar, although using UML.