Abstract
1- Introduction
2- Related work
3- MAML framework
4- Evaluation and discussion
5- Conclusion and outlook
References
Abstract
Mobile app development is an activity predominantly performed by software developers. Domain experts and future users are merely considered in early development phases as source of requirements or consulted for evaluating the resulting product. In the domain of business apps, many cross-platform programming frameworks exist but approaches also targeted at non-technical users are rare. Existing graphical notations for describing apps either lack the simplicity to be understandable by domain experts or are not expressive enough to support automated processing. The MAML framework is proposed as model-driven approach for describing mobile apps in a platform-agnostic fashion not only for software developers but also for process modelers and domain experts. Data, views, business logic, and user interactions are jointly modeled from a process perspective using a graphical domain-specific language. To aggregate multiple use cases and provide advanced modeling support, an inference mechanism is utilized to deduce a global data model. Through model transformations, native apps are then automatically generated for multiple platforms without manual programming. Our approach is compared to the IFML notation in an observational study, with promising results regarding readability and usability.
Introduction
A decade after Apple triggered the trend towards smartphones with its first iPhone, mobile devices and apps have been widely adopted. Business apps usually cover small-scale tasks and support the digitalization of processes which benefit from the increased mobility and availability of ubiquitous devices. For example, salespersons can access company data from a customer’s location, expenses can be followed up remotely, and employees can submit requests for vacations not only from their office desk. Until now, app development remains a task predominantly executed by programmers, often considering other stakeholders and future users primarily in requirements engineering phases upfront implementation. However, the research institute Gartner predicted that within a few years, more than half of all company-internal business apps will be created using codeless tools [1]. Many frameworks for programming mobile apps have emerged over the past years and cross-platform approaches allow for a large user base with low development efforts (an overview is given in [2–4]). Several commercial platforms provide cross-platform capabilities but usually focus on source code transformations, partly supported by graphical editors for designing individual views (e.g., [5,6]). Modeling approaches that focus on platform-agnostic representations of mobile apps are rarely used in practice. Modeldriven software development using a domain-specific language (DSL) bears the advantage of transforming a concise specification of the target application into a software product (semi-) automatically [7]. DSLs are generally suited to cover a well-defined scope with sensible abstractions for inherent domain concepts and increase productivity of developers compared to general purpose languages (GPL) [8]. Several textual DSLs for mobile apps have been presented in literature (e.g., [9–11]), although not all of them fully automate code generation [12]. However, textual DSLs provide only minor benefits to non-technical users because they still feel like programming [13].