Android Executable Modeling: Beyond Android Programming

Android Executable Modeling: Beyond Android Programming

Olivier Le Goaer (University of Pau, France), Franck Barbier (University of Pau, France) and Eric Cariou (University of Pau, France)
DOI: 10.4018/978-1-4666-9916-8.ch014
OnDemand PDF Download:


Within the model-driven engineering field, model execution consists in interpreting the model through a dedicated execution engine instead of executing a code based on, or generated from, the model. The class of modeling languages endowed with such executability is called i-DSML (interpreted Domain-Specific Modeling Language). This is an important development shift because a modeling effort seamlessly substitutes to a programming effort. This alternative way for building increasingly complex software is particularly beneficial to the mobile applications market where fast development and agility are recognized as key factors of success. This chapter illustrates how parts of an Android mobApp can be modeled and executed by leveraging a well-known i-DSML, namely UML 2 State Machine Diagrams and the PauWare engine thereof. Beyond this specific case, the proposed installation of PauWare on Android OS sets up the foundation for a whole range of mobApps, provided that they are modeled with the Statecharts formalism.
Chapter Preview

I-Dsml At A Glance

It is worth recalling that modeling is all about abstraction. Modeling challenges programming in the sense that it requires different skills, neither more nor less valuable, just different. A smart software engineer makes routinely and fluently the round-trip between these two levels of abstraction.

While the models, as outputs of a modeling process, were often considered as contemplative artifacts before the 2000s (intended to be printed and pinned to wall, to be caricatured), the situation has deeply changed since: everyone is nowadays making a productive use of models. This shift has been logically accompanied with a “modeling liberation/emancipation” supported by the concept of domain-specific modeling languages (DSML) (Fowler, 2010): everyone was encouraged to use multiple modeling languages, for each particular aspects of software, not only relying on mainstream, general-purpose modeling languages (GPML). The productive usage of models written with a DSML requires executability, which is thereby no longer the exclusive attribute of programming languages. As noted by Mernik (Mernik et al., 2005), model execution can be achieved in two ways:

Complete Chapter List

Search this Book: