CORDIS - Résultats de la recherche de l’UE
CORDIS

AUTOmatic Code Generation from models For MOBILE Applications

Final Report Summary - AUTOMOBILE (AUTOmatic Code Generation from models For MOBILE Applications)

Executive Summary:
The AutoMobile project aimed at designing and bringing to the market innovative methodologies, software tools and vertical applications for the cost-effective implementation of cross-platform, multi-device mobile applications, i.e. applications that can be accessed by users on a variety of devices and operating systems, including PC, cellular / smart phones and tablets.

The activities of the project included the following:
• Analysis of the state of the art of mobile application development with specific focus on the tools available in the market able to deploy the codebase on multiple devices across different operating systems;
• Production of the specification of the business, functional and non-functional requirements of the architecture, components, tools and methodology;
• Design and implementation of the mobile modelling language by identifying first of all the mobile concepts to extend the IFML language;
• Design and development of technical components to implement the automatic generation of mobile applications, targeting HTML 5 for cross-platform development based on Cordova/PhoneGap, Android native libraries, iOS and AppCelerator Titanium;
• Analysis of requirements from actual and prospective customers of the SME partners, as well as studying requirements of typical, publicly-available mobile apps;
• Dissemination and awareness activities towards industry and public bodies.

The results of the project were:
Result 1. Mobile language: a platform independent modelling language based on of the OMG standards for application specification (MDA, UML 2.0) which incorporates primitives for describing at an abstract level the access device capacity, the network channel constraints, the user’s interface interaction primitives, and the user’s access context, defined using the standard extension mechanism provided by UML 2.0.

Result 2. AutoMobile Methodology: methodological guideline, in the format of a textbook, on how to elicit, design, implement and deploy successfully mobile multi-channel and multi-device, context-based solution in organizations of different nature; the book will be submitted for publication to a major international publishing company, with a free book edition accessible online.

Result 3. Code generator: a model-to-code generator, which consists of a set of model transformations for building highly usable and ergonomic mobile applications from conceptual specifications expressed in the mobile language. The generated code exploits the framework and components (Result 4); the code generator will be integrated in the existing WebRatio platform, to address the new objective of multi-channel and multi-device application development.

Result 4. Frameworks and components: a set of software components and an architectural framework acting as building block for developing mobile, multi-device context-aware (user interface widgets, user’s actions, terminal capacities detection and exploitation, context representation, location-awareness logic). The framework and components will be based on the emerging HTML 5 standard and also target native application development for both the iOS and Android operating systems.

Result 5-6-7. AutoMobile applications: a portfolio of B2C and B2B vertical mobile applications, demonstrating the effectiveness of the AutoMobile approach in selected industries and application domains, commercially integrated in the application catalogue offered by the beneficiaries.

Project Context and Objectives:
OVERALL OBJECTIVES
The AutoMobile project aimed at designing and bringing to the market innovative methodologies, software tools and vertical applications for the cost-effective implementation of cross-platform, multi-device mobile applications, i.e. applications that can be accessed by users on a variety of devices and operating systems, including PC, cellular/smartphones and tablets.
Cross-platform and multi-device design, implementation and deployment are barriers for today’s IT solution providers, especially SME providers, due to the high cost and technical complexity of targeting development to a wide spectrum of devices, which differ in format, interaction mechanism, and software architecture. AutoMobile exploits the modern paradigm of Model-Driven Engineering and Code Generation to dramatically simplify multi-device development, substantially reducing cost and development times, so as to increase the profit of SME solution providers and at the same time reduce the price and total cost of ownership for end-customers.

THE CHALLENGE
The release of the iPhone marked the advent of the mobile-dominated post-PC era in IT. The notion of "mobile apps" accelerated in 2010, with the introduction of the iPad. At present, the mobile-centric model is accelerating, with smartphones and tablets tripling from 2012 to 2014. Beyond devices, users are seeing a new era of increasingly context-aware, multichannel user experiences by 2017.
The new model brings though a more complex client environment, spanning from mobile devices (e.g. smartphones and tablets) to the desktop. Software development for mobile platforms is still a debated problem in the software engineering community. Mastering the post-PC era requires extra flexibility to cope with the mobile shift that is changing the landscape. Even if the mobile OS market is beginning to mature and consolidate, with more clarity to follow in the next years, most analyses concur that it is unlikely that a single vendor will dominate the future mobile-centric world.
After the inception phase, which saw the iPhone and iPad take the market by storm and stir adoption, a strong growth phase (currently still in force) sees mobile applications becoming mainstream: smartphones, media tablets, app stores and mobile application development entering the enterprise application architecture. This phase is being characterized by intense competition and innovation among devices, OSs, and application providers. HTML5 has helped the simplification of this heterogeneous environment, but it is but one approach among many competing ones. The mid-term will see the consolidation of platforms and providers into more uniform multichannel, multi-device solutions.
However, even during the consolidation phase, it is unlikely that a single technology will dominate all client systems. The dilemma between browser-based (HTML 5) and native (iOS, Android, Blackberry, Symbian, Windows Phone) interfaces remains relevant and is challenging the capacity of organizations to meet the increasing demand for mobile applications. This challenge can lead to SME vendors, who have limited IT investment capacity, to becoming marginalized.
Application development organizations will need to reorganize their IT practices and avoid the risk of multiplying product lines for mobile and desktop/web application development.
AutoMobile proposes to face the challenge of the mobile revolution by exploiting abstraction, modelling and code generation, in the spirit of modern Model Driven Engineering. The rationale is to represent applications (desktop, mobile, classic web) in a platform-independent manner and then generate the code to deploy the application business and interaction logic onto any platform of choice.

THE STRATEGIC OPPORTUNITY
The vision of AutoMobile is based on hard facts, directly experienced by the beneficiary SMEs and confirmed by the trends, which demand a timely and adequate strategy:
• Smartphones and tablets represent over 90% of the net-new growth in device adoption from 2012 to 2016 mobile phones have overtaken PCs as the most common Web access devices worldwide;
• Mobile page views have reached 10% of the global number of Web pageviews, with 100% increase in one year;
• A total of 29 billion apps were downloaded in 2011, up from 9 billion in 2010 [source: ABI Research (October 2011)];
• Direct revenue from the sale of apps, in-app purchases and subscriptions across smartphones and tablets have totalled $30 billion in 2015;
• High revenues industries are being reshaped by mobile. The global mobile banking customer base is now over 1.1 billion.

MARKET SITUATION AND PROJECT POSITIONING
Demand for a solution to the mobile development issues is emerging, especially from SMEs who cannot afford the rigidity and high organizational cost of cross-platform, multi-channel and multi-device development, and there is not a flexible development suite in the market that matches all the levels of mobile application development.
Visionary players have a strategic opportunity to differentiate their offers from their main competitors by applying model-driven agile design and implementation to multi-channel and multi-device mobile application development, by focusing on explicitly modelling the access device, access channel, and user’s context features, rather than trying to customize “one-size-fits-all” solutions or requiring distinct software product lines for each access device and channel.
Raising the level of abstraction at which mobile multi-device, multi-channel and context-dependent application requirements are captured and formalized in the user and application models permits organizations to design low cost but flexible applications, which are controllable as well as extendable, and therefore adaptable to different business cases, user requirements and contexts, access devices and network channels.
The participating SMEs (WBR, MSM, FOR) in the AutoMobile Consortium are software product & service vendors at different points in the value chain.
WBR, MSM, and FOR have not the skills and the resources to invest directly in the development of the missing functionalities required by the full spectrum of multi-device and multi-channel mobile application development methodologies and tools, but possess an in-depth perception of the customers' needs and a precise knowledge about the potential impact that effective and innovative mobile development suites and vertical applications might have in their target market. By sharing this strategic vision, they expect a quantifiable return on investment on the joint creation of a niche market by offering mobile development tools, methodologies, and vertical applications to their B2C and B2B clients, granting them a superior degree of technology and vendor independence, flexibility, at a lower cost.
The opportunity to outsource the necessary research to RTD providers, selected for their competence and past collaboration experience with the proposing SMEs, and to retain the full IPRs of the project’s results within the SMEs, is unique and timely, and will greatly accelerate the time-to-market, which is a necessary precondition for achieving profitability and economic health in the short-medium term.
The selected RTD providers (Politecnico di Milano and ARMINES) contributed appropriate competences to the project; they were selected based on knowledge, complementarities of skills with the SMEs, and past collaboration experience, in the strong belief that all these three factors are necessary for an efficient and fast transfer of research results.

THE BENEFITS
Direct Industrial, Economic and Social benefits are associated to the creation and up-take of an innovative Mobile Development Methodology, Tool Suite, and Vertical Applications Portfolio. These Benefits are instrumental to establish a positioning of the three beneficiaries SMEs (WBR, MSM, FOR) in the international market as niche innovative vendors of tools and methodologies, and are measurable in terms of:
• A direct increment of in revenues and jobs thanks to the mobile market by the three SMEs;
• Consolidation of the existing customer base of WBR, MSM, and FOR, prevalently constituted by mid-to-large companies, with the provisioning of methodology, tool suite and vertical applications for improving the mobility of business processes;
• The acquisition by WBR, MSM, and FOR of a new mobile market segment, constituted by SMEs that today cannot afford multi-channel mobile development, due to the high cost, rigidity and volatility of multi-platform software development;
• The establishment of a pan-European product distribution network of mobile SME solutions, starting from the already existing commercial agreements among WBR, MSM, and FOR, and from their complementary strategic partnerships;
• The construction of an international distribution channel, starting from the presence of WBR in Latin America.

Project Results:
WORKPACKAGES
The project workplan lasted 24 months and was organized according to 6 workpackages:
• Workpackages that dealt with requirements (WP1) and impact (WP5) were lead by the technical SMEs (MSM and WBR respectively);
• Workpackages involving pure research activities (WP2 and WP3) were lead by the universities (ARM and PMI respectively);
• Evaluation (WP4) was lead by the SME closest to the end users (FOR);
• Management (WP6) was lead by the project coordinator, WBR.
Activities were scheduled according to a two-phase iterative development cycle (alpha and beta versions) both for the tool-suite and for the pilot mobile applications developed with it. This allowed refinement of the outcomes based on the early feedback of the users. Indeed, when possible parallel execution of development and validation activities occurred.
Five basic milestones were defined (ML1-ML5). The goal was to produce the project technical and business requirements by month 5 (ML2), the first alpha version of the integrated tool suite at month 13 (ML3), so as to enable the development of a first version of the mobile applications and the consolidated beta version of the tool-suite at month 19 (ML4). The final six months of the project were devoted to the refinement of the vertical applications with end users, on the preparation of methodological and training materials and on intensified dissemination (ML5). For simplicity, each design task had one principal design deliverable at M5: redesign cycles due to design problems discovered during the implementation were incorporated in the implementation tasks and updated the technical documentation as necessary.

DESCRIPTION OF TECHNICAL AND SCIENTIFIC WORK

WP1: SOTA ANALYSIS AND REQUIREMENTS (LEADER MSM) (M1-M4)
Overview
State of the art analysis and definition of the requirements was the starting point to design the AutoMobile environment and all the related tools to model multiplatform mobile applications.

Task T1.1 State of the art review (M1-M2) (resp. MSM)
Existing market products were surveyed and a list of their features and tools produced. These were checked against a list of features that were defined as a must-have for the AutoMobile project.

Task T1.2 Architecture, functional and business requirements (M1-M4) (resp. MSM)
The list of tools and features required to develop a multi platform application were listed and checked. From these activities emerged the requirements for the AutoMobile project in order to create a useful tool and in line with the requirements for a modern developing team that needs to deploy on multiple mobile platforms.

Main Achievements
Definition of the real priorities and challenges, taking into account all the must-have features for the programming language and development environment, which are the key to create a useful market product.

WP2: MODELING LANGUAGE DESIGN (LEADER ARM)
Overview
The identification of mobile specific features to be included in mobile modeling language was conducted, and the definition of IFML elements allowing the modeling of those mobile specific concepts was completed. The modeling language design specifications deliverable was written;
The implementation of the graphical modeling tool was carried out. Functional and usability testing of the modeling tool was performed. This analysis lead to the adjustment of the graphical concrete syntax to better suit usability and readability needs in realistic scenarios. A test tool for the modeling editor by code generation towards the Android platform was added. The tool documentation was written.

Task T2.1 Design of the mobile modeling language (M2-M9) (resp. ARM)
Gathering requirements from representative mobile apps covering most of the aspects introduced by mobile devices was done.
The modelling of selected mobile apps using IFML language in order to identify the mobile concepts that cannot be modelled by IFML Standard was done. This phase showed that the modeling of user events and the interactions with hardware and software features installed on the device is difficult to achieve through the Standard as it is.
The definition of IFML Elements required to model the mobile specific features identified in the previous step was done. The extensions provided in this phase comprise view containers, view component, events, actions, context, etc.

Task T2.2 Implementation of the mobile modeling language tools (M5-M23) (resp. ARM)
Development of the open source IFML graphical editor with mobile capabilities was carried out. The complete list of modelling elements was added to the editing palette. Appropriate properties views were implemented for each element. Functional testing of the modelling editor by compilation to Android was carried out.
Usability testing with experienced Java developers highlighted difficulties in readability in real size models. The graphical concrete syntax in the editor view was adapted accordingly.
Development of a testing tool for the modeller based on code generation towards the Android platform was performed. The iteration time between development and testing by was optimized.

Main Achievements
Development of the IFML graphical editor, and development of a testing tool for the modeling editor.

WP3: ARCHITECTURE AND CODE GENERATION (LEADER PMI)
Overview
The work focused on designing and developing the technical components that implemented the automatic generation of mobile applications. Initial prototypes targeted the following technologies: HTML 5 for cross-platform development based on Cordova/PhoneGap, Android native libraries, iOS and AppCelerator Titanium. The prototypes included integration with content models (describing databases and other storage models) and other backend business logic residing on the server.
After the initial analysis performed in the first period of the project and the tests and assessments of the different technologies, work was focused specifically on Cordova/PhoneGap, with validated execution for Android and iOS platforms (while leaving validation of Windows Mobile for possible future developments). The runtime architecture design included the data storage layer at client and server side, the definition of backend APIs that can be invoked by the client, and the client layer design, covering both user interaction (based on the IFML notation) and client-side business logic. Prototypes include also the design and prototypes of advanced interaction patterns between client and server, for covering different data synchronization needs.

Task T3.1 Design and implementation of the client side architecture (M2-M9) (resp. PMI)
The client side design consisted in specifying the architecture of the client side controller and of visual components (GUI widgets, event handlers, etc). Special attention was paid to browser and native application portability, performance in different browsers and operating systems (iOS and Android), and selection of the appropriate Javascript libraries and frameworks to be used. The task reviewed the current client side architecture of WebRatio; identified the extension points; and produced a technical prototype.

Task T3.2 Design and implementation of the server side architecture (M5-M23) (resp. PMI)
The server side architecture of the AutoMobile approach was designed by extending the existing server side architecture of WebRatio towards the practices of mobile development, basically consisting in REST API invocations and server-side data management.
During the second part of the project, the final version of the server side architecture of the AutoMobile approach was designed. It is still compatible with the existing server side architecture of WebRatio and it now includes REST APIs, data storage layer, business logic support, and IoT integration. The server-side architecture components have been integrated within the WebRatio toolsuite runtime architecture

Task T3.3 Code generator (M5-M23) (resp. PMI)
In this task the design and implementation of the code generator has been covered. The code generation technology was chosen, the design of the generation strategies was defined, and some preliminary prototypes were put into place.
The final version of the code generators was then implemented. This activity included the design of the generation strategy and its implementation as final prototypes. The code generators have been integrated within the WebRatio toolsuite.

T3.4 Communication and data management (M11-M24):
The design of advanced data synchronization patterns and communication patterns between mobile apps and server-side backend was designed and experimented. Experimental scenarios with integrated IoT sensors and devices were run.
A tool (EMF-REST) was implemented to generate a RESTful API for EMF models. The resulting API can be automatically deployed in an application server, enabling easy and secure communication with remote models. The generated API supports authentication, encryption, and authorization.

Main Achievements
Design of the mapping from the modelling language to the software coding primitives according to appropriate generation strategies. Implementation of prototypes of generators for the technological platforms of choice. Implementation of the runtime environment of the mobile apps. Design and validation of advanced data synchronization patterns between mobile apps and backend data and logic. Integration of the new technology in the WebRatio architecture.

WP4: EVALUATION ON BUSINESS CASES AND METHODOLOGY (LEADER FOR)
Overview
A set of business cases coming from the SMEs was identified and specified and implemented. A methodology was produced.

Task T4.1 Methodology and development process (M4-M24) (resp. PMI)
Based on the mobile modelling language specified in WP2, which defined an extension of the IFML language for mobile devices, and on the specification of the business cases, we identified: a set of design patterns, a description of the development process and a set of methodological guidelines. All this has been consolidated and formalized in a methodology manual.

Task T4.2 Business case specification (M4-M12) (resp. FOR)
A set of business cases, both from present clients and from prospective clients and partners, were identified and specified. The business case specification was finalized, collecting from our customers and future prospects their requirements for mobile parts. Inclusion and integration of the new modules into our applications was carried out, using the latest version of WebRatio.

Task T4.3 Business case implementation and evaluation (M8-M24) (resp. FOR)
Implementation of the business cases was carried out. Before starting this project, we already started discussion with our customers in order to include some mobile development in their applications. During the project we were able to gather together with the customers, business requirements that fulfil customers need for mobile technology, like different business process management flows that need the approval from upper management level. After we approved with the customers the analysis created by our team, we were able to develop with the help of WebRatio a mobile version of those new modules. After user acceptance tests, we can say that those mobile modules are working and included in our production systems.

Main Achievements
The main achievements are a set of requirements of business cases, coming from the SME partners of the project, identified and specified. Development and testing of the mobile version of WebRatio was carried out. Development of new mobile modules that fulfill customers requirements was performed, and the new module integrated into our applications.
Also, a sound and thorough methodology specification has been condensed from the use cases and has been made available as a methodology manual.

WP5: AWARENESS, IMPACT, EXPLOITATION (LEADER WBR)
Overview
A major effort was put on communication, exploitation and awareness: the project website was provided early and kept up to date. Various scientific papers were accepted at important conferences on mobile development. Several seminars were given in universities. Standardization of IFML at OMG has benefited from the project experience; and the WebRatio company website has already been restructured toward a mobile development offer. WebRatio was named by Gartner as “Mobile Development Tools for SMBs”. Market and technology have been continuously monitored. Business plan, exploitation and IPR management strategies have been decided. Results of the projects have been disseminated as much as possible, within the academic community and through marketing initiatives. An official book on IFML has been published in the USA. WebRatio has opened new partnerships with USA and worldwide software integrators. Several landing pages have been prepared for advertising mobile products generated within the project (E.g. eventOmeters). The Project school has been promoted and organized.

Task T5.1 Market and Technology Watch (M6-M24) (resp. WBR)
This task provided continuous monitoring of the market of mobile software development tools, of mobile technologies (native and cross-platform), and of the modelling and code generation technologies.

Task T5.2 Business planning and exploitation (M6-M24) (resp. WBR)
The basis of the business plans for exploiting the project results were discussed early in the project. Some partnerships were agreed with third parties for use and/or commercialization of the new toolsuite. A set of commercial partners of WebRatio has been developed in the US for, among others, the future exploitation of the mobile development capabilities. This marketing plan and the business agreements among the partners were agreed and finalized.

Task T5.3 IPR Management (M6-M12) (resp. WBR)
IPR issues have been monitored from the early stages of the project, so as to avoid potential conflicts or problems immediately while developing the innovation and results. IPR issues were refined based on the findings and the way chosen to address them.

Task T5.4 Community, standards and dissemination (M3-M24) (resp. WBR)
The project website was built and kept up to date. Various scientific papers have been accepted at important conferences on mobile development. Several seminars have been given in universities. Standardization of IFML at OMG has benefited from the project experience; and the WebRatio company website has already been restructured toward a mobile development offer; WebRatio has been named by Gartner as “Mobile Development Tools for SMBs”. A community and store for WebRatio components has been built.
Results of the projects have been disseminated as much as possible, within the academic community (at MobileSoft, ICWE, DeMobile and ModelsWard conferences), and through marketing initiatives. Advertising of the results at OMG has been continuously carried out. An official book on IFML has been published in the USA, also including mobile features studied in the project. WebRatio has opened new partnerships with USA and worldwide software integrators to disseminate the results on the market. Several landing pages have been prepared for advertising mobile products generated within the project (E.g. eventOmeters). The Project school has been promoted and organized

Main Achievements
Project web site online (http://automobile.webratio.com). Papers accepted at conference MobiWIS, Barcelona. Seminars given at University of L’Aquila, University of Genova, University Dauphine Paris, Steven’s Institute of Technology, NJ, USA. IFML standard version 1.0 approved by OMG; WebRatio mentioned in Gartner report; various meetings held with existing and prospective customers and potential partners.

Potential Impact:
IMPACT ON PARTICIPATING SMES
AutoMobile will impact on the European employment agenda by favouring the in-sourcing of added-value mobile development in companies. The AutoMobile model-driven approach reduces the cost of development, grants cross-platform deployment at no extra cost, and fights the tendency to outsourcing.
Today most app project revenue is generated from “classical” app creation services (concept creation, design and coding). AutoMobile will not only allow companies to reduce the overheads due to the repetitive coding tasks, but also to concentrate on high added-value tasks of design, increasing the quality of delivered solutions.
This situation creates an interesting opportunity for small players, focusing on more agile mobile application development approaches and on the containment of total cost of ownership for SMEs. WBR, MSM and FOR will operate in this market niche.
The expected benefits for the SME partners are:
WBR: New version of WebRatio, including mobile application modelling and code generation.
MSM: New components compatible with mainstream mobile operating systems and libraries and with HTML 5, to ease the rapid development of mobile cross platform solutions.
FOR: New portfolio of vertical solutions in the area of mobile multi-device and multi-channel B2B applications.

IMPACT ON EUROPEAN SMES:
AutoMobile will be beneficial for European SMEs at wide, by reducing the cost of developing multi-device, multi-channel mobile applications and thus also the TCO for end users:
• Availability of agile mobile application development tools and off-the-shelf mobile B2C and B2B applications.
• Easier learning curve: complete methodology backed by innovative tools that mask the complexity of developing solutions across multiple technical spaces (most notably, HTML 5, Android, iOS).
• Reduction of at least 50% of design cycles of multi-device, multi-channel solutions implemented with the model driven code generation approach, leading to a 25% decrease of cost in solution maintenance (which can reach 90% of the total cost of development of a software solution.

IMPACT ON INDUSTRY:
On B2C organizations: reduced technological complexity and thus time-to-market & TCO of multi-channel, multi-device applications targeted to mobile users.
On B2B organizations: model-driven specification and code generation of ERP/CRM extensions that can turn legacy applications into multi-device, multi-channel solutions.
On software houses and software integrators: model-driven approach with open architecture, fast prototyping and customizable code generation for multiple access device and network channels
On SME software and service vendors: lower learning curve/investment thanks to one abstract and platform independent model used to generate code on many platform and devices.

EXPLOITATION OF MAIN RESULTS AND OWNERSHIP
Access to the background
The background of AutoMobile consists of the WebRatio tool suite, which is property of WBR, and the Eclipse tools ATL and MoDisco, which are the property of ARM.
WebRatio is a model-driven integrated development environment for Web application development, which will provide the technical framework for the development of the AutoMobile model editor and code generator.
A licence of WebRatio for the duration of 5 years after the project conclusion will be granted at no cost by WBR to MSM and FOR, for the exploitation of results.
After the period of 5 years after the project conclusion, a licence of WebRatio will be granted by WBR to MSM and FOR, under favourable conditions that include a minimum discount of 30% over the WebRatio toolsuite pricelist and a minimum discount of 25% over the rates and fees for training and support services.

Access to the foreground
The foreground of AutoMobile comprise the seven results listed below:
Result 1. Mobile language; owner WBR 100%;
Result 2. Development Methodology; owner FOR 100%;
Result 3. Code generator; owner WBR 100%;
Result 4. Framework & components, owner MSM 100%;
Result 5. AutoMobile applications for WBR; owner WBR 100%;
Result 6. AutoMobile applications for MSM; owner MSM 100%;
Result 7. AutoMobile applications for FOR; owner FOR 100%.

List of Websites:
PROJECT PUBLIC WEBSITE
The public website address is http://automobile.webratio.com/

CONTACT DETAILS
Stefano Butti
tel: +39-02-3671-4280
e-mail: stefano.butti@webratio.com