Mobile Device Software: Model-Based Architectures and Examples