SlideShare a Scribd company logo
1 of 31
Firma convenzione
Politecnico di Milano e Veneranda Fabbrica del
Duomo di Milano
• Aula Magna – Rettorato
• Mercoledì 27 maggio 2015
Model-driven Development of
User Interfaces for IoT via
Domain-specific Components & Patterns
Marco Brambilla, Eric Umuhoza
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Context and Motivation
 More than 30 billion IoT objects connected by 2020
 More than 2.6 billion of smart-phone users by 2020
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Context and Motivation
(*) IN 2010:
Predictions said:
from 50 billions to 1 trillion (IBM) in 2020!!!
(*) NOW:
At the moment:
from 7 billions (Gartner) to 9 billions (IDC) to 18 billions (HIS)
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Motivation
The role of user interfaces towards IoT
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Application Modeling
Mobile Applications
Contributions
IoT-based Applications
Platform Independent
Extension
(Mobile IFML)
Platform
Specific
Extension
Design
Patterns
Modeling
Tool
Platform
Specific
Extension
IoT-
Extension
Design
Patterns
Domain
Model for IoT
Implementation
Declarative rules for
Code Generation
Monitoring
Model Interpretation
Execution
Logs
Application
Model
Data Analysis and
Visualization
Database
Firma convenzione
Politecnico di Milano e Veneranda Fabbrica del
Duomo di Milano
• Aula Magna – Rettorato
• Mercoledì 27 maggio 2015
UI Modeling
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Interaction Flow Modeling Language (IFML)
Album
Search
«Window» AlbumSearch
Album
List
«Window» Albums
Album
Details
«Window» Album
«ParameterBindingGroup»
Title  AlbumTitle
Year  AlbumYear
«ParameterBindingGroup»
SelectedAlbum  AnAlbum
«Form» «List» «Details»
EventViewContainer
View Component
Album
Deletion
«ParameterBindingGroup»
SelectedAlbum  AnAlbum
Action
Navigation Flow
ParameterBinding
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Models in software development
Models as programs
• Applications are
generated (semi)
automatically from
models
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Models in software development
Models as programs
• Applications are
generated (semi)
automatically from
models
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Mobile–specific extension of IFML
 Four main sets of mobile-specific
concepts
• Mobile Containers and Components
• Events
• Mobile Actions
• Mobile Context
Bottom-up approach
Investigation of
Mobile
Platforms
Extraction of
Common
Features
Abstraction
and
Conceptualization
 Meta-model excerpts:
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Mobile IFML - Events
 Events generated by the
interaction of the user
(gestures, …)
 Mobile container
MobileContainer
MobileEvent
«Screen» List
«List» Lists
Options
«LongPress»
«Screen» Options
«Details» List
Edit list Delete list
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Mobile IFML – Access to native features
MobileComponent
MobileAction MobileActionEvent
 Access to system features
 Native functions
 Phone sensors
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Mobile IFML – the Context object
 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
Firma convenzione
Politecnico di Milano e Veneranda Fabbrica del
Duomo di Milano
• Aula Magna – Rettorato
• Mercoledì 27 maggio 2015
IoT Modeling
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
IoT Extensions - Components
Get Action Set Action Plan Action
Action SystemEvent
Single Information
Event
Approaching Event
 IoT Actions
 IoT Events (approaching, repeat, etc.)
 No new ViewComponent and ViewContainer
Meta-model excerpts:
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
IoT user interaction patterns – Set
Make
Cappuccino
Turn on
100°C
 Set patterns
• One device – One operation
• One device – More operations
• More devices – One operation
• More devices – More operations
• One device – One Program
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
IoT user interaction patterns – Get
• State of a device
• Details of a device
• Information from device
• Search device
• Nearby devices
• …
 Get patterns
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Patterns- based UI modeling
 Get Information from the Device
 Get State of the Device
 Get Details of a Device
 Get Information from whole Category
 One Device One Operation
 Store Information
 Push Information
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
The full example…
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Firma convenzione
Politecnico di Milano e Veneranda Fabbrica del
Duomo di Milano
• Aula Magna – Rettorato
• Mercoledì 27 maggio 2015
Code Generation
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Code generation strategies
 CIM to several PIMs
 PIM to several PSMs
• Many other combinations
• Skipping one of the levels
Model-driven architecture (MDA)
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Code generation strategies
Model-to-Model
Transformation (M2M)
Computation
Independent Model (CIM)
Platform Specific
Model (PSM)
Platform Specific
Model (PSM)
Platform Specific
Model (PSM)
M2M
Application Code
Model-to-Text
Transformation (M2T)
FSM :Cross-platform
Framework Specific Model
PIM
Native
Code
M2TM2M
PSM
PIM
Native
Code
M2T
Native
Code
M2T
PSM
PIM
Cross-platform
Code
M2T
M2T
FSM
Cross-platform
CodePIM
M2M
(1)
(2)
(3)
(4)
(5)
MDA
Platform Independent
Model (PIM)
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
PIM to Cross-platform Code
 From PIM it generates the code required by the cross platform framework
• PhoneGap, AppCelerator Titanium, and Xamarin
 Requires only one model and one generator
• Plus tricks and tweaks!!
 USE: Multiple platform availability (and time to market) is more important than high performance
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
User Behavior Analytics Approach
Example of WebRatio Runtime log line.RTXLog,
22 Jun 2016 11:10:51,761 DEBUG [http-bio-8080-exec-5] com.webratio.rtx.core.ServiceProvider:45) -
[119354A67C7C0177D4A7F411E75BCDE7][page21][pwu6Block] Creating service: WEB-INF/descr/pwu6Block.descr
Example of enriched Log line
[119354A67C7C0177D4A7F411E75BCDE7][ViewContainer[Type:page,id:page21,..]][List[id=pwu6Block][dataBinding
=Book]][[title:"...",author:"...",...]]
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Approach - Analysis and Visualization
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Experience: the Sem-IoT-y platform
www.semioty.com
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
A Predefined
Content Model
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Experience: the Sem-IoT-y platform
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
Conclusions
 Model-driven development of mobile and IoT
applications
 Very much Domain Specific
 Content model is predefined
 Basic interaction is back to content-model driven (as
from early 2000s)
Thanks!
Questions?
Marco Brambilla
@marcobrambi
marco.brambilla@polimi.it
www.marco-brambilla.com
M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns

More Related Content

What's hot

Future-Proof Coding with IFML
Future-Proof Coding with IFMLFuture-Proof Coding with IFML
Future-Proof Coding with IFMLWebRatio
 
Icon based addressbook and content adaptation
Icon based addressbook and content adaptationIcon based addressbook and content adaptation
Icon based addressbook and content adaptationAnjan Mondal
 
IBM InterConnect 2013 Mobile Keynote: Marie Wieck
IBM InterConnect 2013 Mobile Keynote: Marie WieckIBM InterConnect 2013 Mobile Keynote: Marie Wieck
IBM InterConnect 2013 Mobile Keynote: Marie WieckIBM Events
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingJordi Cabot
 
Cognifying model-driven software engineering
Cognifying model-driven software engineeringCognifying model-driven software engineering
Cognifying model-driven software engineeringJordi Cabot
 
IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013
IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013
IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013IBM Switzerland
 
Ethical AI - Open Compliance Summit 2020
Ethical AI - Open Compliance Summit 2020Ethical AI - Open Compliance Summit 2020
Ethical AI - Open Compliance Summit 2020Debmalya Biswas
 
Ahmed Ramy CV v2
Ahmed Ramy CV v2Ahmed Ramy CV v2
Ahmed Ramy CV v2Ahmed Ramy
 

What's hot (10)

Future-Proof Coding with IFML
Future-Proof Coding with IFMLFuture-Proof Coding with IFML
Future-Proof Coding with IFML
 
Bimarabia3en
Bimarabia3enBimarabia3en
Bimarabia3en
 
Icon based addressbook and content adaptation
Icon based addressbook and content adaptationIcon based addressbook and content adaptation
Icon based addressbook and content adaptation
 
IBM InterConnect 2013 Mobile Keynote: Marie Wieck
IBM InterConnect 2013 Mobile Keynote: Marie WieckIBM InterConnect 2013 Mobile Keynote: Marie Wieck
IBM InterConnect 2013 Mobile Keynote: Marie Wieck
 
Future Trends on Software and Systems Modeling
Future Trends on Software and Systems ModelingFuture Trends on Software and Systems Modeling
Future Trends on Software and Systems Modeling
 
Cognifying model-driven software engineering
Cognifying model-driven software engineeringCognifying model-driven software engineering
Cognifying model-driven software engineering
 
IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013
IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013
IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013
 
Ethical AI - Open Compliance Summit 2020
Ethical AI - Open Compliance Summit 2020Ethical AI - Open Compliance Summit 2020
Ethical AI - Open Compliance Summit 2020
 
MobileIrn Presentation
MobileIrn PresentationMobileIrn Presentation
MobileIrn Presentation
 
Ahmed Ramy CV v2
Ahmed Ramy CV v2Ahmed Ramy CV v2
Ahmed Ramy CV v2
 

Similar to Model-driven Development of User Interfaces for IoT via Domain-specific Components & Patterns. ICEIS 2017

Adopting enterprise mobility using Smartphones
Adopting enterprise mobility using SmartphonesAdopting enterprise mobility using Smartphones
Adopting enterprise mobility using SmartphonesLalatendu Das
 
Mobile Middleware and Applications of Telemetry
Mobile Middleware and Applications of TelemetryMobile Middleware and Applications of Telemetry
Mobile Middleware and Applications of TelemetryPiyush yadav
 
FABulous: Open Source technologies for 3D printing - introduction to Fiware a...
FABulous: Open Source technologies for 3D printing - introduction to Fiware a...FABulous: Open Source technologies for 3D printing - introduction to Fiware a...
FABulous: Open Source technologies for 3D printing - introduction to Fiware a...LibreCon
 
On mobile - Product Strategy
On mobile - Product StrategyOn mobile - Product Strategy
On mobile - Product Strategymobiangle
 
IBM Mobile portal experience
IBM Mobile portal experienceIBM Mobile portal experience
IBM Mobile portal experienceVincent Perrin
 
IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...Marco Brambilla
 
CV_portfolio_WZou
CV_portfolio_WZouCV_portfolio_WZou
CV_portfolio_WZouJewelZou
 
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & CloudantBuild Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & CloudantIBM
 
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & CloudantBuild Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & CloudantAnimesh Singh
 
Building Windows8 Metro Applications
Building Windows8 Metro ApplicationsBuilding Windows8 Metro Applications
Building Windows8 Metro ApplicationsAbhishek Sur
 
Ibm mobile first briefing
Ibm mobile first briefingIbm mobile first briefing
Ibm mobile first briefingNitin Gaur
 
Mobicloudtransportwebinarswedishjune2013 130618032229-phpapp01
Mobicloudtransportwebinarswedishjune2013 130618032229-phpapp01Mobicloudtransportwebinarswedishjune2013 130618032229-phpapp01
Mobicloudtransportwebinarswedishjune2013 130618032229-phpapp01Peter Melander
 
MobiCloud Transport Webinar series June 2013 - Swedish
MobiCloud Transport Webinar series June 2013 - SwedishMobiCloud Transport Webinar series June 2013 - Swedish
MobiCloud Transport Webinar series June 2013 - SwedishAppear
 
Using Watson to build Cognitive IoT Apps on Bluemix
Using Watson to build Cognitive IoT Apps on BluemixUsing Watson to build Cognitive IoT Apps on Bluemix
Using Watson to build Cognitive IoT Apps on BluemixIBM
 
Presentation-Watson_IoT_Platform-Long-08Feb2016
Presentation-Watson_IoT_Platform-Long-08Feb2016Presentation-Watson_IoT_Platform-Long-08Feb2016
Presentation-Watson_IoT_Platform-Long-08Feb2016Nikhil Dikshit
 
Self-Driving Cars, Smart Watches and Heads-Up Displays... Oh My!
Self-Driving Cars, Smart Watches and Heads-Up Displays... Oh My! Self-Driving Cars, Smart Watches and Heads-Up Displays... Oh My!
Self-Driving Cars, Smart Watches and Heads-Up Displays... Oh My! Laurie Lamberth
 

Similar to Model-driven Development of User Interfaces for IoT via Domain-specific Components & Patterns. ICEIS 2017 (20)

Domain specific modeling for mobile and io t apps
Domain specific modeling for mobile and io t appsDomain specific modeling for mobile and io t apps
Domain specific modeling for mobile and io t apps
 
Mobile extensions for OMG's IFML modeling language
Mobile extensions for OMG's IFML modeling languageMobile extensions for OMG's IFML modeling language
Mobile extensions for OMG's IFML modeling language
 
presentation-symposium-v4
presentation-symposium-v4presentation-symposium-v4
presentation-symposium-v4
 
Adopting enterprise mobility using Smartphones
Adopting enterprise mobility using SmartphonesAdopting enterprise mobility using Smartphones
Adopting enterprise mobility using Smartphones
 
Mobile Middleware and Applications of Telemetry
Mobile Middleware and Applications of TelemetryMobile Middleware and Applications of Telemetry
Mobile Middleware and Applications of Telemetry
 
FABulous: Open Source technologies for 3D printing - introduction to Fiware a...
FABulous: Open Source technologies for 3D printing - introduction to Fiware a...FABulous: Open Source technologies for 3D printing - introduction to Fiware a...
FABulous: Open Source technologies for 3D printing - introduction to Fiware a...
 
On Mobile- Product Strategy
On Mobile- Product StrategyOn Mobile- Product Strategy
On Mobile- Product Strategy
 
On mobile - Product Strategy
On mobile - Product StrategyOn mobile - Product Strategy
On mobile - Product Strategy
 
IBM Mobile portal experience
IBM Mobile portal experienceIBM Mobile portal experience
IBM Mobile portal experience
 
IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...
 
CV_portfolio_WZou
CV_portfolio_WZouCV_portfolio_WZou
CV_portfolio_WZou
 
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & CloudantBuild Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
 
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & CloudantBuild Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & Cloudant
 
Building Windows8 Metro Applications
Building Windows8 Metro ApplicationsBuilding Windows8 Metro Applications
Building Windows8 Metro Applications
 
Ibm mobile first briefing
Ibm mobile first briefingIbm mobile first briefing
Ibm mobile first briefing
 
Mobicloudtransportwebinarswedishjune2013 130618032229-phpapp01
Mobicloudtransportwebinarswedishjune2013 130618032229-phpapp01Mobicloudtransportwebinarswedishjune2013 130618032229-phpapp01
Mobicloudtransportwebinarswedishjune2013 130618032229-phpapp01
 
MobiCloud Transport Webinar series June 2013 - Swedish
MobiCloud Transport Webinar series June 2013 - SwedishMobiCloud Transport Webinar series June 2013 - Swedish
MobiCloud Transport Webinar series June 2013 - Swedish
 
Using Watson to build Cognitive IoT Apps on Bluemix
Using Watson to build Cognitive IoT Apps on BluemixUsing Watson to build Cognitive IoT Apps on Bluemix
Using Watson to build Cognitive IoT Apps on Bluemix
 
Presentation-Watson_IoT_Platform-Long-08Feb2016
Presentation-Watson_IoT_Platform-Long-08Feb2016Presentation-Watson_IoT_Platform-Long-08Feb2016
Presentation-Watson_IoT_Platform-Long-08Feb2016
 
Self-Driving Cars, Smart Watches and Heads-Up Displays... Oh My!
Self-Driving Cars, Smart Watches and Heads-Up Displays... Oh My! Self-Driving Cars, Smart Watches and Heads-Up Displays... Oh My!
Self-Driving Cars, Smart Watches and Heads-Up Displays... Oh My!
 

More from Marco Brambilla

M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...
M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...
M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...Marco Brambilla
 
Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...
Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...
Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...Marco Brambilla
 
Hierarchical Transformers for User Semantic Similarity - ICWE 2023
Hierarchical Transformers for User Semantic Similarity - ICWE 2023Hierarchical Transformers for User Semantic Similarity - ICWE 2023
Hierarchical Transformers for User Semantic Similarity - ICWE 2023Marco Brambilla
 
Exploring the Bi-verse. A trip across the digital and physical ecospheres
Exploring the Bi-verse.A trip across the digital and physical ecospheresExploring the Bi-verse.A trip across the digital and physical ecospheres
Exploring the Bi-verse. A trip across the digital and physical ecospheresMarco Brambilla
 
Conversation graphs in Online Social Media
Conversation graphs in Online Social MediaConversation graphs in Online Social Media
Conversation graphs in Online Social MediaMarco Brambilla
 
Trigger.eu: Cocteau game for policy making - introduction and demo
Trigger.eu: Cocteau game for policy making - introduction and demoTrigger.eu: Cocteau game for policy making - introduction and demo
Trigger.eu: Cocteau game for policy making - introduction and demoMarco Brambilla
 
Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...
Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...
Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...Marco Brambilla
 
Analyzing rich club behavior in open source projects
Analyzing rich club behavior in open source projectsAnalyzing rich club behavior in open source projects
Analyzing rich club behavior in open source projectsMarco Brambilla
 
Analysis of On-line Debate on Long-Running Political Phenomena. The Brexit C...
Analysis of On-line Debate on Long-Running Political Phenomena.The Brexit C...Analysis of On-line Debate on Long-Running Political Phenomena.The Brexit C...
Analysis of On-line Debate on Long-Running Political Phenomena. The Brexit C...Marco Brambilla
 
Community analysis using graph representation learning on social networks
Community analysis using graph representation learning on social networksCommunity analysis using graph representation learning on social networks
Community analysis using graph representation learning on social networksMarco Brambilla
 
Available Data Science M.Sc. Thesis Proposals
Available Data Science M.Sc. Thesis Proposals Available Data Science M.Sc. Thesis Proposals
Available Data Science M.Sc. Thesis Proposals Marco Brambilla
 
Data Cleaning for social media knowledge extraction
Data Cleaning for social media knowledge extractionData Cleaning for social media knowledge extraction
Data Cleaning for social media knowledge extractionMarco Brambilla
 
Iterative knowledge extraction from social networks. The Web Conference 2018
Iterative knowledge extraction from social networks. The Web Conference 2018Iterative knowledge extraction from social networks. The Web Conference 2018
Iterative knowledge extraction from social networks. The Web Conference 2018Marco Brambilla
 
Driving Style and Behavior Analysis based on Trip Segmentation over GPS Info...
Driving Style and Behavior Analysis based on Trip Segmentation over GPS  Info...Driving Style and Behavior Analysis based on Trip Segmentation over GPS  Info...
Driving Style and Behavior Analysis based on Trip Segmentation over GPS Info...Marco Brambilla
 
Myths and challenges in knowledge extraction and analysis from human-generate...
Myths and challenges in knowledge extraction and analysis from human-generate...Myths and challenges in knowledge extraction and analysis from human-generate...
Myths and challenges in knowledge extraction and analysis from human-generate...Marco Brambilla
 
Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...
Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...
Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...Marco Brambilla
 
Web Science. An introduction
Web Science. An introductionWeb Science. An introduction
Web Science. An introductionMarco Brambilla
 
On the Quest for Changing Knowledge. Capturing emerging entities from social ...
On the Quest for Changing Knowledge. Capturing emerging entities from social ...On the Quest for Changing Knowledge. Capturing emerging entities from social ...
On the Quest for Changing Knowledge. Capturing emerging entities from social ...Marco Brambilla
 
Studying Multicultural Diversity of Cities and Neighborhoods through Social M...
Studying Multicultural Diversity of Cities and Neighborhoods through Social M...Studying Multicultural Diversity of Cities and Neighborhoods through Social M...
Studying Multicultural Diversity of Cities and Neighborhoods through Social M...Marco Brambilla
 
Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...Marco Brambilla
 

More from Marco Brambilla (20)

M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...
M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...
M.Sc. Thesis Topics and Proposals @ Polimi Data Science Lab - 2024 - prof. Br...
 
Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...
Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...
Thesis Topics and Proposals @ Polimi Data Science Lab - 2023 - prof. Brambill...
 
Hierarchical Transformers for User Semantic Similarity - ICWE 2023
Hierarchical Transformers for User Semantic Similarity - ICWE 2023Hierarchical Transformers for User Semantic Similarity - ICWE 2023
Hierarchical Transformers for User Semantic Similarity - ICWE 2023
 
Exploring the Bi-verse. A trip across the digital and physical ecospheres
Exploring the Bi-verse.A trip across the digital and physical ecospheresExploring the Bi-verse.A trip across the digital and physical ecospheres
Exploring the Bi-verse. A trip across the digital and physical ecospheres
 
Conversation graphs in Online Social Media
Conversation graphs in Online Social MediaConversation graphs in Online Social Media
Conversation graphs in Online Social Media
 
Trigger.eu: Cocteau game for policy making - introduction and demo
Trigger.eu: Cocteau game for policy making - introduction and demoTrigger.eu: Cocteau game for policy making - introduction and demo
Trigger.eu: Cocteau game for policy making - introduction and demo
 
Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...
Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...
Generation of Realistic Navigation Paths for Web Site Testing using RNNs and ...
 
Analyzing rich club behavior in open source projects
Analyzing rich club behavior in open source projectsAnalyzing rich club behavior in open source projects
Analyzing rich club behavior in open source projects
 
Analysis of On-line Debate on Long-Running Political Phenomena. The Brexit C...
Analysis of On-line Debate on Long-Running Political Phenomena.The Brexit C...Analysis of On-line Debate on Long-Running Political Phenomena.The Brexit C...
Analysis of On-line Debate on Long-Running Political Phenomena. The Brexit C...
 
Community analysis using graph representation learning on social networks
Community analysis using graph representation learning on social networksCommunity analysis using graph representation learning on social networks
Community analysis using graph representation learning on social networks
 
Available Data Science M.Sc. Thesis Proposals
Available Data Science M.Sc. Thesis Proposals Available Data Science M.Sc. Thesis Proposals
Available Data Science M.Sc. Thesis Proposals
 
Data Cleaning for social media knowledge extraction
Data Cleaning for social media knowledge extractionData Cleaning for social media knowledge extraction
Data Cleaning for social media knowledge extraction
 
Iterative knowledge extraction from social networks. The Web Conference 2018
Iterative knowledge extraction from social networks. The Web Conference 2018Iterative knowledge extraction from social networks. The Web Conference 2018
Iterative knowledge extraction from social networks. The Web Conference 2018
 
Driving Style and Behavior Analysis based on Trip Segmentation over GPS Info...
Driving Style and Behavior Analysis based on Trip Segmentation over GPS  Info...Driving Style and Behavior Analysis based on Trip Segmentation over GPS  Info...
Driving Style and Behavior Analysis based on Trip Segmentation over GPS Info...
 
Myths and challenges in knowledge extraction and analysis from human-generate...
Myths and challenges in knowledge extraction and analysis from human-generate...Myths and challenges in knowledge extraction and analysis from human-generate...
Myths and challenges in knowledge extraction and analysis from human-generate...
 
Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...
Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...
Harvesting Knowledge from Social Networks: Extracting Typed Relationships amo...
 
Web Science. An introduction
Web Science. An introductionWeb Science. An introduction
Web Science. An introduction
 
On the Quest for Changing Knowledge. Capturing emerging entities from social ...
On the Quest for Changing Knowledge. Capturing emerging entities from social ...On the Quest for Changing Knowledge. Capturing emerging entities from social ...
On the Quest for Changing Knowledge. Capturing emerging entities from social ...
 
Studying Multicultural Diversity of Cities and Neighborhoods through Social M...
Studying Multicultural Diversity of Cities and Neighborhoods through Social M...Studying Multicultural Diversity of Cities and Neighborhoods through Social M...
Studying Multicultural Diversity of Cities and Neighborhoods through Social M...
 
Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...
 

Recently uploaded

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 

Recently uploaded (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 

Model-driven Development of User Interfaces for IoT via Domain-specific Components & Patterns. ICEIS 2017

  • 1. Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano • Aula Magna – Rettorato • Mercoledì 27 maggio 2015 Model-driven Development of User Interfaces for IoT via Domain-specific Components & Patterns Marco Brambilla, Eric Umuhoza
  • 2. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Context and Motivation  More than 30 billion IoT objects connected by 2020  More than 2.6 billion of smart-phone users by 2020
  • 3. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Context and Motivation (*) IN 2010: Predictions said: from 50 billions to 1 trillion (IBM) in 2020!!! (*) NOW: At the moment: from 7 billions (Gartner) to 9 billions (IDC) to 18 billions (HIS)
  • 4. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Motivation The role of user interfaces towards IoT
  • 5. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Application Modeling Mobile Applications Contributions IoT-based Applications Platform Independent Extension (Mobile IFML) Platform Specific Extension Design Patterns Modeling Tool Platform Specific Extension IoT- Extension Design Patterns Domain Model for IoT Implementation Declarative rules for Code Generation Monitoring Model Interpretation Execution Logs Application Model Data Analysis and Visualization Database
  • 6. Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano • Aula Magna – Rettorato • Mercoledì 27 maggio 2015 UI Modeling
  • 7. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Interaction Flow Modeling Language (IFML) Album Search «Window» AlbumSearch Album List «Window» Albums Album Details «Window» Album «ParameterBindingGroup» Title  AlbumTitle Year  AlbumYear «ParameterBindingGroup» SelectedAlbum  AnAlbum «Form» «List» «Details» EventViewContainer View Component Album Deletion «ParameterBindingGroup» SelectedAlbum  AnAlbum Action Navigation Flow ParameterBinding
  • 8. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Models in software development Models as programs • Applications are generated (semi) automatically from models
  • 9. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Models in software development Models as programs • Applications are generated (semi) automatically from models
  • 10. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Mobile–specific extension of IFML  Four main sets of mobile-specific concepts • Mobile Containers and Components • Events • Mobile Actions • Mobile Context Bottom-up approach Investigation of Mobile Platforms Extraction of Common Features Abstraction and Conceptualization  Meta-model excerpts:
  • 11. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Mobile IFML - Events  Events generated by the interaction of the user (gestures, …)  Mobile container MobileContainer MobileEvent «Screen» List «List» Lists Options «LongPress» «Screen» Options «Details» List Edit list Delete list
  • 12. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Mobile IFML – Access to native features MobileComponent MobileAction MobileActionEvent  Access to system features  Native functions  Phone sensors
  • 13. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Mobile IFML – the Context object  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
  • 14. Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano • Aula Magna – Rettorato • Mercoledì 27 maggio 2015 IoT Modeling
  • 15. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns IoT Extensions - Components Get Action Set Action Plan Action Action SystemEvent Single Information Event Approaching Event  IoT Actions  IoT Events (approaching, repeat, etc.)  No new ViewComponent and ViewContainer Meta-model excerpts:
  • 16. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns IoT user interaction patterns – Set Make Cappuccino Turn on 100°C  Set patterns • One device – One operation • One device – More operations • More devices – One operation • More devices – More operations • One device – One Program
  • 17. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns IoT user interaction patterns – Get • State of a device • Details of a device • Information from device • Search device • Nearby devices • …  Get patterns
  • 18. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Patterns- based UI modeling  Get Information from the Device  Get State of the Device  Get Details of a Device  Get Information from whole Category  One Device One Operation  Store Information  Push Information
  • 19. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns The full example…
  • 20. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns
  • 21. Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano • Aula Magna – Rettorato • Mercoledì 27 maggio 2015 Code Generation
  • 22. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Code generation strategies  CIM to several PIMs  PIM to several PSMs • Many other combinations • Skipping one of the levels Model-driven architecture (MDA)
  • 23. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Code generation strategies Model-to-Model Transformation (M2M) Computation Independent Model (CIM) Platform Specific Model (PSM) Platform Specific Model (PSM) Platform Specific Model (PSM) M2M Application Code Model-to-Text Transformation (M2T) FSM :Cross-platform Framework Specific Model PIM Native Code M2TM2M PSM PIM Native Code M2T Native Code M2T PSM PIM Cross-platform Code M2T M2T FSM Cross-platform CodePIM M2M (1) (2) (3) (4) (5) MDA Platform Independent Model (PIM)
  • 24. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns PIM to Cross-platform Code  From PIM it generates the code required by the cross platform framework • PhoneGap, AppCelerator Titanium, and Xamarin  Requires only one model and one generator • Plus tricks and tweaks!!  USE: Multiple platform availability (and time to market) is more important than high performance
  • 25. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns User Behavior Analytics Approach Example of WebRatio Runtime log line.RTXLog, 22 Jun 2016 11:10:51,761 DEBUG [http-bio-8080-exec-5] com.webratio.rtx.core.ServiceProvider:45) - [119354A67C7C0177D4A7F411E75BCDE7][page21][pwu6Block] Creating service: WEB-INF/descr/pwu6Block.descr Example of enriched Log line [119354A67C7C0177D4A7F411E75BCDE7][ViewContainer[Type:page,id:page21,..]][List[id=pwu6Block][dataBinding =Book]][[title:"...",author:"...",...]]
  • 26. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Approach - Analysis and Visualization
  • 27. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Experience: the Sem-IoT-y platform www.semioty.com
  • 28. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns A Predefined Content Model
  • 29. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Experience: the Sem-IoT-y platform
  • 30. M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns Conclusions  Model-driven development of mobile and IoT applications  Very much Domain Specific  Content model is predefined  Basic interaction is back to content-model driven (as from early 2000s)
  • 31. Thanks! Questions? Marco Brambilla @marcobrambi marco.brambilla@polimi.it www.marco-brambilla.com M Brambilla, E. Umuhoza. Model-driven Development of UIs for IoT via Domain-specific Components and Patterns

Editor's Notes

  1. Mobile devices as most common computing devices Fragmented market of mobile OSs Cross-platform development Cost for cross-platform and multi-device apps development A barrier for IT solution providers especially for SMEs
  2. Mobile devices as most common computing devices Fragmented market of mobile OSs Cross-platform development Cost for cross-platform and multi-device apps development A barrier for IT solution providers especially for SMEs
  3. Two main motivation: Complexity of interaction patterns to better exploit the limited space Interaction with other hardware and software components(sensors, apps,…)
  4. Three categories of mobile events: Events generated by the interaction of the user such as LongPress, swipe, etc. Events triggered by the mobile device features such as sensors, battery, etc. Events triggered by user actions related to the device components such as taking a photo, recording a video or using the microphone
  5. The process starts by integrating the runtime data (Web Server access log and WebRatio runtime log) with the structural information gathered from the conceptual models of the application (content and interaction flow models); then it enriches the integrated logs with the database objects used to populate the requested pages. The third phase denormalizes the rich logs; and finally we perform the user interaction data analysis and visualize the results.
  6. The process starts by integrating the runtime data (Web Server access log and WebRatio runtime log) with the structural information gathered from the conceptual models of the application (content and interaction flow models); then it enriches the integrated logs with the database objects used to populate the requested pages. The third phase denormalizes the rich logs; and finally we perform the user interaction data analysis and visualize the results.