IoT Meets Exhibition Areas: a Modular Architecture to Improve Proximity Inter...
presentation-symposium-v4
1. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Umuhoza Eric
eric.umuhoza@polimi.it
@EricUmuhoza
Domain-Specific Modeling and
Code Generation for
Cross-Platform Multi-Device
Mobile Apps
3. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Relevance
3
• Smart-phone users expected to surpass 2
billion by 2016 [eMarketer]
• From Games to Serious Business [Flurry
Analytics]
• Increasing number of mobile apps
• By May 2015 [Statista]
• Google Play 1.5 million apps
• Apple App store 1.4 million apps
• App revenues expected to reach 92 billion
US dollars by 2018 [ABI research]
Doctoral Symposium, STAF 2015. Eric Umuhoza
4. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Problem
4
• Diversity of Platforms (OSs)
• Different Front-End Requirements
• Resources Scarcity
• Device Diversity
Doctoral Symposium, STAF 2015. Eric Umuhoza
5. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Challenge 1 - Platform
5
• Fragmented market of
mobile OSs
• Cross-platform
development becomes
a must
• Is a barrier for IT solution
providers especially for SMEs
Doctoral Symposium, STAF 2015. Eric Umuhoza
6. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Challenge 2 & 3 - Front End Requirements &
Resource Scarcity
6
• User Interaction
• Tactile surfaces
• Gestures like swipe, press, long press, …
• Sensor-based interaction
• Rotate, shake,…
• Size of screen
• Context
• Network, battery level, …
• Resource Scarcity
Doctoral Symposium, STAF 2015. Eric Umuhoza
7. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Challenge 4 - Device diversity
7Doctoral Symposium, STAF 2015. Eric Umuhoza
Multi-device
development
8. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Proposed solution
8Doctoral Symposium, STAF 2015. Eric Umuhoza
Requirements specification
through standard languages
Domain
Model
User
Interaction
Transformation
rules
Native Code
Code for
Cross-Platform
frameworks
9. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Cross-Platform Development
9Doctoral Symposium, STAF 2015. Eric Umuhoza
Platform Independent Model (PIM)
PSM
M2T
Cross Platform
Framework Specific
Model (FSM)
M2T
M2M
Native
Code
Native
Code
M2T
Cross-Platform
Code
Cross-Platform
Code
M2T
M2M
10. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Language Stack
10Doctoral Symposium, STAF 2015. Eric Umuhoza
Interaction Flow Modeling Language
(IFML)
Platform Independent
Extension
(Mobile IFML)
Platform-Specific
Extension
Unified Modeling
Language (UML)
Platform-Specific
Extension
Platform-Specific
Extension
Platform-Specific
Extension
Platform-Specific
Extension
Platform-Specific
Extension
11. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Multi-Device Development
11Doctoral Symposium, STAF 2015. Eric Umuhoza
12. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Multi-Device Development
12Doctoral Symposium, STAF 2015. Eric Umuhoza
PIM
PIM for
Tablet
PIM for
Smart-Phone
PIM for
…
PIM for
Smart-Watch
M2M
M2M M2M
M2M
13. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Preliminary Work
13
• Mobile modeling language
• Graphical Models editor
An eclipse plugin based on Sirius
• Prototypes of Code Generators
Code Generator for Android
• Acceleo templates
• Java + XML
Code Generator for iOS
• Objective-C
Code Generator for Apache Cordova
• Apache Ant + Groovy
• HTML5 + JS + CSS
• Initial validation through developed mobile apps
Doctoral Symposium, STAF 2015. Eric Umuhoza
14. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Interaction Flow Modeling Language
14
• An OMG standard designed for expressing:
Content visualized in the user interfaces
User events and interaction, and
Control behavior of the front-end of SW
applications
Doctoral Symposium, STAF 2015. Eric Umuhoza
15. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
IFML - Main concepts
15Doctoral Symposium, STAF 2015. Eric Umuhoza
16. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
IFML by example
16Doctoral Symposium, STAF 2015. Eric Umuhoza
Album
Search
«Window» AlbumSearch
Album
List
«Window» Albums
Album
Details
«Window» Album
«ParameterBindingGroup»
Title AlbumTitle
Year AlbumYear
«ParameterBindingGroup»
SelectedAlbum AnAlbum
«Form» «List» «Details»
Event
View Container
View
Component
17. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
IFML metamodel - Extensions
17Doctoral Symposium, STAF 2015. Eric Umuhoza
Organized in two main packages: IFML Core
IFML Extensions
and then you can extend it as you
want, for different fields and
platforms (Web, Mobile, …)
18. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Mobile –Specific Extension of IFML
18
• Investigation of technological mobile platforms
(iOS, Android, cross-platform technologies)
• Extraction of common features and abstraction /
conceptualization
• Four main sets of extension definitions in the
language:
Mobile Containers and Components
Mobile Events, addressing the capturing of the mobile
events
Mobile Actions
MobileContext: user’s intent, device’s capacity,
environment surrounding the user
Doctoral Symposium, STAF 2015. Eric Umuhoza
19. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Mobile IFML - Events
19Doctoral Symposium, STAF 2015. Eric Umuhoza
Events generated by
the interaction of the
user (gestures, …)
MobileContainer
MobileEvent
20. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Mobile IFML – Access to native features
20Doctoral Symposium, STAF 2015. Eric Umuhoza
MobileComponent
MobileAction MobileActionEvent
• Access to system features
• Native functions
• Sensors
21. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Mobile IFML - Context
21Doctoral Symposium, STAF 2015. Eric Umuhoza
• It assumes particular relevance in mobile apps
• The context must gather all the dimensions that characterize:
The user's intent
The capacity of access device
The communication network, and etc.
22. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Mobile IFML Editor
22Doctoral Symposium, STAF 2015. Eric Umuhoza
23. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Future plans
23Doctoral Symposium, STAF 2015. Eric Umuhoza
• MD Analytics
• Design & anti design patterns for MD mobile
apps
• Multi Devices Development
M2M transformations
• application dependent vs application independent rules
• Platform-specific extensions
• Improve code generators
• Design Use cases demonstrating the
effectiveness of the research approach
• Modernization
24. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Expected Contributions
24Doctoral Symposium, STAF 2015. Eric Umuhoza
• Overview of MDD approaches for cross-
platform apps development
• A platform of criteria for evaluating MDD
approaches to mobile apps development
• Guidelines for MDD adopters
• Reduce time to market
• Increase the availability of cross platform
apps
Freedom in choosing device and OS
25. DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Questions and Contributions
25Doctoral Symposium, STAF 2015. Eric Umuhoza