SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
Firma convenzione
Politecnico di Milano e Veneranda Fabbrica
del Duomo di Milano
Aula Magna – Rettorato
Mercoledì 27 maggio 2015
Domain-Specific Modeling and Code
Generation for Cross-platform Mobile and
IoT-based Applications
Ph.D. Candidate:
Eric Umuhoza
Advisor:
Prof. Marco Brambilla
Eric Umuhoza, Ph.D. Candidate
Agenda
 Introduction
 Barriers to MDD Adoption
 User Interaction Modeling Language
 Code Generation Strategies
 Model Driven Framework for User Behavior Analysis
 Questions and Answers
Eric Umuhoza, Ph.D. Candidate
Context
 More than 2.6 billion of smart-phone users by 2020
 Increasing number of mobile apps
 5 million apps expected in Apple App store by 2020
 App revenues expected to reach 92 billion US
dollars by 2018
Motivation
Eric Umuhoza, Ph.D. Candidate
Research objective
Apply MDD to all Phases of Software Development
 Design Time
 Domain-Specific Modeling Languages for: Mobile and IoT
 Generation Time
 Code Generation Strategies
 Execution Time
 Model Driven Analytics Framework
Model-driven development (MDD)
• Models as the primary artifact of the development process
• Implementation is (semi) automatically generated from the models
Benefits
• Model once and generate for any platform of choice
• It improves the development process
• Validation of requirements
Eric Umuhoza, Ph.D. Candidate
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
Barriers in the Adoption of Model-driven
Development Approaches
 Is Application Modeling Time Consuming?
 Modeling Languages Simplification and Adaptation
Eric Umuhoza, Ph.D. Candidate
Models in software development
Traditional usage
• Communication with customers and users
• Support for software design
• Task specification for programming
Models as programs
• Applications are
generated (semi)
automatically from
models
Eric Umuhoza, Ph.D. Candidate
What is software modeling?
Where
 Design is Understanding, reasoning, and thinking about a solution
 Drawing and tool interaction is the Expression of the design in a
modeling notation
Modeling = Drawing and tool interaction
Modeling = Design + Drawing and tool interaction
Eric Umuhoza, Ph.D. Candidate
Goal
Research Question:
RQ1: Ratio between Modeling Effort and Design-Thinking Effort
Understand whether it is modeling or designing that
dominates the effort for creating UML model
Eric Umuhoza, Ph.D. Candidate
Experiments
Assumption : Participants do not think about the solution in phase β
Design Time DT = Tα – Tβ
Model Drawing Time MDT = Tα - DT
Design Time Percentage (DTP) = DT/ Tα
A two-phase experiment
 Phase α: create a domain model that addresses the assignment
Tα = Effort spent during Phase α = Design Time + Model Drawing Time
(Eq.2)
 Phase β: re-draw the same model as copy of the diagram produced in phase α
Tβ = effort spent during phase β
(Eq.1)
(Eq.3)
(Eq.4)
(Eq.5)
Eric Umuhoza, Ph.D. Candidate
Experiment setup
 3 application scenarios
• Every scenario describes a system to be designed
 48 users
 2 tests per user
Procedure with participants
1. Introduction
2. Instruction (test scenario)
3. Modeling assigned scenarios
1. Modeling phase
2. Redraw phase
4. User Questionnaire
Eric Umuhoza, Ph.D. Candidate
Results analysis
Ratio between Modeling Effort and Design-Thinking Effort
Modeling effort BUT
• Design leads to software success
• Reuse
• Maintenance
 Model vs code
• Model-driven development
 Implementation from models
DSLs  Productivity
 The fault of supposedly unproductive processes should not be blamed on modeling
 But to (anyhow necessary) time devoted to thinking about the problem and identifying the solution
Firma convenzione
Politecnico di Milano e Veneranda Fabbrica
del Duomo di Milano
Aula Magna – Rettorato
Mercoledì 27 maggio 2015
Barriers in the adoption of model-driven
development approaches
Modeling Languages Simplification and Adaptation
Eric Umuhoza, Ph.D. Candidate
 Adaptation of modeling languages
• Standard languages are complex (E.g.: BPMN)
• No perfect match of the domain to be modeled (E.g.: UML)
 Other approaches towards simplification
• New DSLs
• Extending an existing base language
 Our approach
• Simplify existing language according to the user needs
• Less time consuming and error prone than building a DSL from scratch
• Gain in Experience, Tools, and tutorials
DSLs Simplification Problem - Motivation
Eric Umuhoza, Ph.D. Candidate
End-userLanguagedesigner
User
Questionnaire
Language
Evaluation
Definition of
Language
Variants
Modeling of
Use Cases
Selection of
Reducible
Language Elements
General
Language
Simplified
Language
DSLs Simplification Problem - Process
Eric Umuhoza, Ph.D. Candidate
DSLs Simplification Problem – Case study
 Simplification of BPMN for Personal Process Modeling
 Goal Study “how much is enough” for
• End users
• Collaborative planning and execution
Michael zur Muehlen and Jan Recker "How much language is enough? "
 Less than 20% of
BPMN constructs
are used regularly
Eric Umuhoza, Ph.D. Candidate
End-userLanguagedesigner
User
Questionnaire
Language
Evaluation
Definition of
Language
Variants
Modeling of
Use Cases
Selection of BPMN
Elements
BPMN Simplified
BPMN
DSLs Simplification Problem - Process
Eric Umuhoza, Ph.D. Candidate
Selection of BPMN Elements
 Selected 8 elements from 52 constructs of BPMN
Eric Umuhoza, Ph.D. Candidate
Language Variants Definition
 Defined 4 language variants
Eric Umuhoza, Ph.D. Candidate
 Experiment setup
• 3 application scenarios
• 4 syntax variants
• 24 users
• Multiple tests per user
DSLs Simplification Problem - Validation
Eric Umuhoza, Ph.D. Candidate
Results Analysis
• Average modeling time
Language Variants
Duration(s)
~19 min
~16 min
~21 min
Language Variants
#Elements
• Average # of used concepts
Eric Umuhoza, Ph.D. Candidate
Results Analysis
Language Variants
#opinions
Easy Med Hard
• Explicit feedback on language
variants complexity
Variant 1
Simpler, faster, less errors, limited power
(no conditions)
Variant 2
Strong thanks to looping, a lot of errors
Variant 3
Good compromise.
Limited by single local parameter
Variant 4
Harder, slower, more errors. Multiple local
parameters not appreciated
• Rule of “thumb” on Language Variants
Firma convenzione
Politecnico di Milano e Veneranda Fabbrica
del Duomo di Milano
Aula Magna – Rettorato
Mercoledì 27 maggio 2015
User Interaction Modeling Language
Mobile Modeling Language
Eric Umuhoza, Ph.D. Candidate
Mobile Modeling Language
 A platform independent modelling (PIM) language
• A mobile-specific extension of IFML
• Covering mobile-specific requirements
• Amenable to code generation
 Why IFML?
• a OMG standard for User Interaction Modeling
• Technology-independent
• It is extensible
Eric Umuhoza, Ph.D. Candidate
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
Eric Umuhoza, Ph.D. Candidate
Mobile–specific extension of IFML
 Four main sets of mobile-specific
concepts
1. Mobile Containers and Components
2. Events
• User interactions
• Device’s features
• Sensors
3. Mobile Actions
4. Mobile Context
Bottom-up approach
Investigation of
Mobile
Platforms
Extraction of
Common
Features
Abstraction
and
Conceptualization
 Meta-model excerpts:
Eric Umuhoza, Ph.D. Candidate
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
Eric Umuhoza, Ph.D. Candidate
Mobile IFML – Access to native features
MobileComponent
MobileAction MobileActionEvent
 Access to system features
 Native functions
 Phone sensors
Eric Umuhoza, Ph.D. Candidate
Mobile IFML – Mobile Context
 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.
Firma convenzione
Politecnico di Milano e Veneranda Fabbrica
del Duomo di Milano
Aula Magna – Rettorato
Mercoledì 27 maggio 2015
User Interaction Modeling Language
IOT Integration
Eric Umuhoza, Ph.D. Candidate
IoT Integration- Overview
 Interactions between the user and the IoT systems in two phases
 User – Terminal
 Terminal – IoT Devices
Eric Umuhoza, Ph.D. Candidate
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
 User interaction patterns …
 Meta-model excerpts:
Eric Umuhoza, Ph.D. Candidate
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
Eric Umuhoza, Ph.D. Candidate
IoT user interaction patterns – Get
• State of a device
• Details of a device
• Information from device
• Search device
• Nearby devices
• …
 Get patterns
Eric Umuhoza, Ph.D. Candidate
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
Firma convenzione
Politecnico di Milano e Veneranda Fabbrica
del Duomo di Milano
Aula Magna – Rettorato
Mercoledì 27 maggio 2015
Implementation:
Code Generation Strategies
Eric Umuhoza, Ph.D. Candidate
Code generation strategies
 CIM to several PIMs
 PIM to several PSMs
 Many other combinations
 Skipping levels
Model-driven architecture (MDA)
Application
Code
Model-to-Text
Transformation
(M2T)
Eric Umuhoza, Ph.D. Candidate
Code generation strategies
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)
 Data-driven native
applications
Eric Umuhoza, Ph.D. Candidate
Code generation strategies
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)
 Native apps with
complex device-
specific functionalities
Eric Umuhoza, Ph.D. Candidate
Code generation strategies
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)
 Native apps for one
platform
Eric Umuhoza, Ph.D. Candidate
Code generation strategies
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)
 Multiple platform
availability (and time
to market) is more
important than high
performance
 Loose in nativity
• Gain market
share
Eric Umuhoza, Ph.D. Candidate
Code generation strategies
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)
 FSM :Cross-platform
Framework Specific Model
 Team with low
experience in Targeted
tool
Firma convenzione
Politecnico di Milano e Veneranda Fabbrica
del Duomo di Milano
Aula Magna – Rettorato
Mercoledì 27 maggio 2015
Application Monitoring:
Model-Driven Framework for User
Behavior Analysis
Eric Umuhoza, Ph.D. Candidate
Model-driven user behavior analysis
 Web analytics tools provide reports regarding web site usage
• Page visits, Visitors, Navigation
• Statistics about the content of the pages?
• Event tracking of GA tracking some content level interactions
• But
• Tracking code placed at each position the event could appear
• Limited set of events
 Our approach
• Component level analysis (also without navigations)
• Enriched analytics by querying the instances of DB
• All components, but the ones hidden on purpose, are
displayed
• Visualization on models
Eric Umuhoza, Ph.D. Candidate
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:"...",...]]
Eric Umuhoza, Ph.D. Candidate
 Possible implementations
 Elasticsearch, Logstash, and Kibana
 Microsoft Azure (HDInsights, Apache Spark)
 Etc.
Approach - Analysis and Visualization
 Three kinds of user behavior analytics
 Navigation-based analytics:
• Number of visits. entrance rate, Incoming Link Ratio, Outgoing Link Ratio
 Content-based analytics
• Top k visualized instances
• Top clicked instances
 Structure-based analytics
 Visualization
 Traditional data visualization tools
• Pie, bar, navigation flow charts
 Colored model
Results Visualization
 Enhancing User Experience
 Refactoring
 Repositioning
 Etc.
Eric Umuhoza, Ph.D. Candidate
Conclusions and Future Directions
 Model-driven development of mobile and IoT applications
 Design time
• Domain-specific modeling languages for Mobile and IoT
• Design methodology – user interaction patterns
 Implementation
• Code generation strategies
 Execution time
• Model driven user behavior analysis
 Solutions to barriers to model-driven development adoption
 Future Directions
 Implementation of IoT – based Apps
 Language Simplification and adaptation
 Dissecting Design Effort and Modeling Effort in MDD Approaches
 User Behavior Analytics
Firma convenzione
Politecnico di Milano e Veneranda Fabbrica
del Duomo di Milano
Aula Magna – Rettorato
Mercoledì 27 maggio 2015
Domain-Specific Modeling and Code Generation
for Cross-platform Mobile and
IoT-based Applications
Thanks

Weitere ähnliche Inhalte

Was ist angesagt?

Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC StudioBenoit Combemale
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDEBenoit Combemale
 
Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Vicente García Díaz
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...Benoit Combemale
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and FutureBenoit Combemale
 
Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3Akshay Nagpurkar
 
From MDE to SLE (April 17th, 2015)
From MDE to SLE (April 17th, 2015)From MDE to SLE (April 17th, 2015)
From MDE to SLE (April 17th, 2015)Benoit Combemale
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...Benoit Combemale
 
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSEXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSBenoit Combemale
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Hugo Bruneliere
 
Reifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specificationsReifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specificationsBenoit Combemale
 
DAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - IntroductionDAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - IntroductionDragan Nikolić
 
Experimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCExperimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCBenoit Combemale
 
Principles of programming
Principles of programmingPrinciples of programming
Principles of programmingRob Paok
 
A Study on MDE Approaches for Engineering Wireless Sensor Networks
A Study on MDE Approaches  for Engineering Wireless Sensor Networks A Study on MDE Approaches  for Engineering Wireless Sensor Networks
A Study on MDE Approaches for Engineering Wireless Sensor Networks Ivano Malavolta
 
What do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A SurveyWhat do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A SurveyObeo
 
L06 Architecting Activities
L06 Architecting ActivitiesL06 Architecting Activities
L06 Architecting ActivitiesHenry Muccini
 
Meta-modeling: concepts, tools and applications
Meta-modeling: concepts, tools and applicationsMeta-modeling: concepts, tools and applications
Meta-modeling: concepts, tools and applicationsSaïd Assar
 

Was ist angesagt? (20)

Model executability within the GEMOC Studio
Model executability within the GEMOC StudioModel executability within the GEMOC Studio
Model executability within the GEMOC Studio
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDE
 
Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
 
Model Execution: Past, Present and Future
Model Execution: Past, Present and FutureModel Execution: Past, Present and Future
Model Execution: Past, Present and Future
 
Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3
 
From MDE to SLE (April 17th, 2015)
From MDE to SLE (April 17th, 2015)From MDE to SLE (April 17th, 2015)
From MDE to SLE (April 17th, 2015)
 
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
A Tool-Supported Approach for Omniscient Debugging and Concurrent Execution o...
 
Workshop8 18 12 09 Ingles
Workshop8   18 12 09 InglesWorkshop8   18 12 09 Ingles
Workshop8 18 12 09 Ingles
 
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMSEXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
EXECUTABLE MODELING FOR SYSTEMS, SOFTWARE AND CYBER-PHYSICAL SYSTEMS
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
 
Reifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specificationsReifying the concurrency concern into xDSML specifications
Reifying the concurrency concern into xDSML specifications
 
DAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - IntroductionDAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - Introduction
 
Unit ii oo design 9
Unit ii oo design 9Unit ii oo design 9
Unit ii oo design 9
 
Experimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOCExperimentations, transfer and development during the ANR project GEMOC
Experimentations, transfer and development during the ANR project GEMOC
 
Principles of programming
Principles of programmingPrinciples of programming
Principles of programming
 
A Study on MDE Approaches for Engineering Wireless Sensor Networks
A Study on MDE Approaches  for Engineering Wireless Sensor Networks A Study on MDE Approaches  for Engineering Wireless Sensor Networks
A Study on MDE Approaches for Engineering Wireless Sensor Networks
 
What do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A SurveyWhat do Practitioners Expect from the Meta-modeling Tools? A Survey
What do Practitioners Expect from the Meta-modeling Tools? A Survey
 
L06 Architecting Activities
L06 Architecting ActivitiesL06 Architecting Activities
L06 Architecting Activities
 
Meta-modeling: concepts, tools and applications
Meta-modeling: concepts, tools and applicationsMeta-modeling: concepts, tools and applications
Meta-modeling: concepts, tools and applications
 

Andere mochten auch

TIME-DOMAIN MODELING OF ELECTROMAGNETIC WAVE PROPAGATION IN COMPLEX MATERIALS...
TIME-DOMAIN MODELING OF ELECTROMAGNETIC WAVE PROPAGATION IN COMPLEX MATERIALS...TIME-DOMAIN MODELING OF ELECTROMAGNETIC WAVE PROPAGATION IN COMPLEX MATERIALS...
TIME-DOMAIN MODELING OF ELECTROMAGNETIC WAVE PROPAGATION IN COMPLEX MATERIALS...John Paul
 
OpenB concepts - Modeling Engine
OpenB concepts - Modeling EngineOpenB concepts - Modeling Engine
OpenB concepts - Modeling EngineWilko van der Veen
 
Ch.02 modeling in frequency domain
Ch.02 modeling in frequency domainCh.02 modeling in frequency domain
Ch.02 modeling in frequency domainNguyen_Tan_Tien
 
Event storming Notes
Event storming NotesEvent storming Notes
Event storming NotesArnauld Loyer
 
An Algebraic Approach to Functional Domain Modeling
An Algebraic Approach to Functional Domain ModelingAn Algebraic Approach to Functional Domain Modeling
An Algebraic Approach to Functional Domain ModelingDebasish Ghosh
 
Design Thinking: 5 Steps to Healthy Healthcare Apps
Design Thinking: 5 Steps to Healthy Healthcare AppsDesign Thinking: 5 Steps to Healthy Healthcare Apps
Design Thinking: 5 Steps to Healthy Healthcare AppsJeffery Belden
 
Fitting IoT into your mobile enterprise
Fitting IoT into your mobile enterpriseFitting IoT into your mobile enterprise
Fitting IoT into your mobile enterpriseBrian Katz
 
Automatic code generation for cross platform, multi-device mobile apps. An in...
Automatic code generation for cross platform, multi-device mobile apps. An in...Automatic code generation for cross platform, multi-device mobile apps. An in...
Automatic code generation for cross platform, multi-device mobile apps. An in...Marco Brambilla
 
MongoDB IoT City Tour EINDHOVEN: IoT in Healthcare: by, Microsoft & Barco
MongoDB IoT City Tour EINDHOVEN: IoT in Healthcare: by, Microsoft & BarcoMongoDB IoT City Tour EINDHOVEN: IoT in Healthcare: by, Microsoft & Barco
MongoDB IoT City Tour EINDHOVEN: IoT in Healthcare: by, Microsoft & BarcoMongoDB
 
Model-driven Development of Social Network-enabled Applications
Model-driven Development of Social Network-enabled ApplicationsModel-driven Development of Social Network-enabled Applications
Model-driven Development of Social Network-enabled ApplicationsMarco Brambilla
 
IoT and physical security of medical devices
IoT and physical security of medical devicesIoT and physical security of medical devices
IoT and physical security of medical devicesTerry Fagen
 
Predictive Analytics World Deutschland 2015
Predictive Analytics World Deutschland 2015Predictive Analytics World Deutschland 2015
Predictive Analytics World Deutschland 2015Rising Media Ltd.
 
gridComm_corporate_summary_Street Lights
gridComm_corporate_summary_Street LightsgridComm_corporate_summary_Street Lights
gridComm_corporate_summary_Street LightsTuck Long Nge
 
PreScouter Internet of Medical Things: Industry Roundtable Webinar
PreScouter Internet of Medical Things: Industry Roundtable WebinarPreScouter Internet of Medical Things: Industry Roundtable Webinar
PreScouter Internet of Medical Things: Industry Roundtable WebinarPreScouter
 
OnDemand Webinar: Key Considerations to Securing the Internet of Things (IoT)...
OnDemand Webinar: Key Considerations to Securing the Internet of Things (IoT)...OnDemand Webinar: Key Considerations to Securing the Internet of Things (IoT)...
OnDemand Webinar: Key Considerations to Securing the Internet of Things (IoT)...Great Bay Software
 
Machine learning and Internet of Things, the future of medical prevention
Machine learning and Internet of Things, the future of medical preventionMachine learning and Internet of Things, the future of medical prevention
Machine learning and Internet of Things, the future of medical preventionPierre Gutierrez
 

Andere mochten auch (20)

TIME-DOMAIN MODELING OF ELECTROMAGNETIC WAVE PROPAGATION IN COMPLEX MATERIALS...
TIME-DOMAIN MODELING OF ELECTROMAGNETIC WAVE PROPAGATION IN COMPLEX MATERIALS...TIME-DOMAIN MODELING OF ELECTROMAGNETIC WAVE PROPAGATION IN COMPLEX MATERIALS...
TIME-DOMAIN MODELING OF ELECTROMAGNETIC WAVE PROPAGATION IN COMPLEX MATERIALS...
 
OpenB concepts - Modeling Engine
OpenB concepts - Modeling EngineOpenB concepts - Modeling Engine
OpenB concepts - Modeling Engine
 
KAOS
KAOSKAOS
KAOS
 
Ch.02 modeling in frequency domain
Ch.02 modeling in frequency domainCh.02 modeling in frequency domain
Ch.02 modeling in frequency domain
 
Event storming Notes
Event storming NotesEvent storming Notes
Event storming Notes
 
An Algebraic Approach to Functional Domain Modeling
An Algebraic Approach to Functional Domain ModelingAn Algebraic Approach to Functional Domain Modeling
An Algebraic Approach to Functional Domain Modeling
 
presentation-symposium-v4
presentation-symposium-v4presentation-symposium-v4
presentation-symposium-v4
 
Design Thinking: 5 Steps to Healthy Healthcare Apps
Design Thinking: 5 Steps to Healthy Healthcare AppsDesign Thinking: 5 Steps to Healthy Healthcare Apps
Design Thinking: 5 Steps to Healthy Healthcare Apps
 
Social media in healthcare bilbao
Social media in healthcare bilbaoSocial media in healthcare bilbao
Social media in healthcare bilbao
 
Fitting IoT into your mobile enterprise
Fitting IoT into your mobile enterpriseFitting IoT into your mobile enterprise
Fitting IoT into your mobile enterprise
 
Automatic code generation for cross platform, multi-device mobile apps. An in...
Automatic code generation for cross platform, multi-device mobile apps. An in...Automatic code generation for cross platform, multi-device mobile apps. An in...
Automatic code generation for cross platform, multi-device mobile apps. An in...
 
MongoDB IoT City Tour EINDHOVEN: IoT in Healthcare: by, Microsoft & Barco
MongoDB IoT City Tour EINDHOVEN: IoT in Healthcare: by, Microsoft & BarcoMongoDB IoT City Tour EINDHOVEN: IoT in Healthcare: by, Microsoft & Barco
MongoDB IoT City Tour EINDHOVEN: IoT in Healthcare: by, Microsoft & Barco
 
Model-driven Development of Social Network-enabled Applications
Model-driven Development of Social Network-enabled ApplicationsModel-driven Development of Social Network-enabled Applications
Model-driven Development of Social Network-enabled Applications
 
IoT and physical security of medical devices
IoT and physical security of medical devicesIoT and physical security of medical devices
IoT and physical security of medical devices
 
Predictive Analytics World Deutschland 2015
Predictive Analytics World Deutschland 2015Predictive Analytics World Deutschland 2015
Predictive Analytics World Deutschland 2015
 
gridComm_corporate_summary_Street Lights
gridComm_corporate_summary_Street LightsgridComm_corporate_summary_Street Lights
gridComm_corporate_summary_Street Lights
 
PreScouter Internet of Medical Things: Industry Roundtable Webinar
PreScouter Internet of Medical Things: Industry Roundtable WebinarPreScouter Internet of Medical Things: Industry Roundtable Webinar
PreScouter Internet of Medical Things: Industry Roundtable Webinar
 
Mobile, IoT and Web
Mobile, IoT and WebMobile, IoT and Web
Mobile, IoT and Web
 
OnDemand Webinar: Key Considerations to Securing the Internet of Things (IoT)...
OnDemand Webinar: Key Considerations to Securing the Internet of Things (IoT)...OnDemand Webinar: Key Considerations to Securing the Internet of Things (IoT)...
OnDemand Webinar: Key Considerations to Securing the Internet of Things (IoT)...
 
Machine learning and Internet of Things, the future of medical prevention
Machine learning and Internet of Things, the future of medical preventionMachine learning and Internet of Things, the future of medical prevention
Machine learning and Internet of Things, the future of medical prevention
 

Ähnlich wie Domain-specific Modeling and Code Generation for Cross-platform Mobile and Iot-based Applications

Professional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeans
Professional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeansProfessional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeans
Professional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeansMatthias Mueller-Prove
 
User interface software tools past present and future
User interface software tools past present and futureUser interface software tools past present and future
User interface software tools past present and futureAlison HONG
 
Intro to User Centered Design Workshop
Intro to User Centered Design WorkshopIntro to User Centered Design Workshop
Intro to User Centered Design WorkshopPatrick McNeil
 
When User Interface Patterns Become Mobile
When User Interface Patterns Become MobileWhen User Interface Patterns Become Mobile
When User Interface Patterns Become MobileJean Vanderdonckt
 
Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Henry Muccini
 
Needs of others November 2011
Needs of others November 2011Needs of others November 2011
Needs of others November 2011Razi Masri
 
Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)PG Scholar
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 pptDr VISU P
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptitadmin33
 
1.4 Prototyping model.pptx
1.4 Prototyping model.pptx1.4 Prototyping model.pptx
1.4 Prototyping model.pptxJAYAPRIYAR7
 
Methods for Identifying and Modeling Users Needs
Methods for Identifying and Modeling Users NeedsMethods for Identifying and Modeling Users Needs
Methods for Identifying and Modeling Users NeedsLuis Carlos Aceves
 
Ui Design And Usability For Everybody
Ui Design And Usability For EverybodyUi Design And Usability For Everybody
Ui Design And Usability For EverybodyEmpatika
 
CIB W78 2007 - Comparison of distance learning courses
CIB W78 2007 - Comparison of distance learning coursesCIB W78 2007 - Comparison of distance learning courses
CIB W78 2007 - Comparison of distance learning coursesRobert Klinc
 
Interact2011 - Designing Inter-usable Systems
Interact2011 - Designing Inter-usable SystemsInteract2011 - Designing Inter-usable Systems
Interact2011 - Designing Inter-usable SystemsVille Antila
 

Ähnlich wie Domain-specific Modeling and Code Generation for Cross-platform Mobile and Iot-based Applications (20)

Professional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeans
Professional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeansProfessional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeans
Professional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeans
 
Unit 1 OOSE
Unit 1 OOSEUnit 1 OOSE
Unit 1 OOSE
 
User interface software tools past present and future
User interface software tools past present and futureUser interface software tools past present and future
User interface software tools past present and future
 
Intro to User Centered Design Workshop
Intro to User Centered Design WorkshopIntro to User Centered Design Workshop
Intro to User Centered Design Workshop
 
VIRTUAL LAB
VIRTUAL LABVIRTUAL LAB
VIRTUAL LAB
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
When User Interface Patterns Become Mobile
When User Interface Patterns Become MobileWhen User Interface Patterns Become Mobile
When User Interface Patterns Become Mobile
 
Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)Software Architecture: Introduction to the abstraction (May 2014_Split)
Software Architecture: Introduction to the abstraction (May 2014_Split)
 
Needs of others November 2011
Needs of others November 2011Needs of others November 2011
Needs of others November 2011
 
Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)
 
Cnpm bkdn
Cnpm bkdnCnpm bkdn
Cnpm bkdn
 
Usability
UsabilityUsability
Usability
 
Introduction to MDE
Introduction to MDEIntroduction to MDE
Introduction to MDE
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.ppt
 
1.4 Prototyping model.pptx
1.4 Prototyping model.pptx1.4 Prototyping model.pptx
1.4 Prototyping model.pptx
 
Methods for Identifying and Modeling Users Needs
Methods for Identifying and Modeling Users NeedsMethods for Identifying and Modeling Users Needs
Methods for Identifying and Modeling Users Needs
 
Ui Design And Usability For Everybody
Ui Design And Usability For EverybodyUi Design And Usability For Everybody
Ui Design And Usability For Everybody
 
CIB W78 2007 - Comparison of distance learning courses
CIB W78 2007 - Comparison of distance learning coursesCIB W78 2007 - Comparison of distance learning courses
CIB W78 2007 - Comparison of distance learning courses
 
Interact2011 - Designing Inter-usable Systems
Interact2011 - Designing Inter-usable SystemsInteract2011 - Designing Inter-usable Systems
Interact2011 - Designing Inter-usable Systems
 

Kürzlich hochgeladen

HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxmaisarahman1
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxNadaHaitham1
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersMairaAshraf6
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdfAldoGarca30
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxMuhammadAsimMuhammad6
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEselvakumar948
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwaitjaanualu31
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesMayuraD1
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 

Kürzlich hochgeladen (20)

HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 

Domain-specific Modeling and Code Generation for Cross-platform Mobile and Iot-based Applications

  • 1. Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano Aula Magna – Rettorato Mercoledì 27 maggio 2015 Domain-Specific Modeling and Code Generation for Cross-platform Mobile and IoT-based Applications Ph.D. Candidate: Eric Umuhoza Advisor: Prof. Marco Brambilla
  • 2. Eric Umuhoza, Ph.D. Candidate Agenda  Introduction  Barriers to MDD Adoption  User Interaction Modeling Language  Code Generation Strategies  Model Driven Framework for User Behavior Analysis  Questions and Answers
  • 3. Eric Umuhoza, Ph.D. Candidate Context  More than 2.6 billion of smart-phone users by 2020  Increasing number of mobile apps  5 million apps expected in Apple App store by 2020  App revenues expected to reach 92 billion US dollars by 2018 Motivation
  • 4. Eric Umuhoza, Ph.D. Candidate Research objective Apply MDD to all Phases of Software Development  Design Time  Domain-Specific Modeling Languages for: Mobile and IoT  Generation Time  Code Generation Strategies  Execution Time  Model Driven Analytics Framework Model-driven development (MDD) • Models as the primary artifact of the development process • Implementation is (semi) automatically generated from the models Benefits • Model once and generate for any platform of choice • It improves the development process • Validation of requirements
  • 5. Eric Umuhoza, Ph.D. Candidate 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 Barriers in the Adoption of Model-driven Development Approaches  Is Application Modeling Time Consuming?  Modeling Languages Simplification and Adaptation
  • 7. Eric Umuhoza, Ph.D. Candidate Models in software development Traditional usage • Communication with customers and users • Support for software design • Task specification for programming Models as programs • Applications are generated (semi) automatically from models
  • 8. Eric Umuhoza, Ph.D. Candidate What is software modeling? Where  Design is Understanding, reasoning, and thinking about a solution  Drawing and tool interaction is the Expression of the design in a modeling notation Modeling = Drawing and tool interaction Modeling = Design + Drawing and tool interaction
  • 9. Eric Umuhoza, Ph.D. Candidate Goal Research Question: RQ1: Ratio between Modeling Effort and Design-Thinking Effort Understand whether it is modeling or designing that dominates the effort for creating UML model
  • 10. Eric Umuhoza, Ph.D. Candidate Experiments Assumption : Participants do not think about the solution in phase β Design Time DT = Tα – Tβ Model Drawing Time MDT = Tα - DT Design Time Percentage (DTP) = DT/ Tα A two-phase experiment  Phase α: create a domain model that addresses the assignment Tα = Effort spent during Phase α = Design Time + Model Drawing Time (Eq.2)  Phase β: re-draw the same model as copy of the diagram produced in phase α Tβ = effort spent during phase β (Eq.1) (Eq.3) (Eq.4) (Eq.5)
  • 11. Eric Umuhoza, Ph.D. Candidate Experiment setup  3 application scenarios • Every scenario describes a system to be designed  48 users  2 tests per user Procedure with participants 1. Introduction 2. Instruction (test scenario) 3. Modeling assigned scenarios 1. Modeling phase 2. Redraw phase 4. User Questionnaire
  • 12. Eric Umuhoza, Ph.D. Candidate Results analysis Ratio between Modeling Effort and Design-Thinking Effort Modeling effort BUT • Design leads to software success • Reuse • Maintenance  Model vs code • Model-driven development  Implementation from models DSLs  Productivity  The fault of supposedly unproductive processes should not be blamed on modeling  But to (anyhow necessary) time devoted to thinking about the problem and identifying the solution
  • 13. Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano Aula Magna – Rettorato Mercoledì 27 maggio 2015 Barriers in the adoption of model-driven development approaches Modeling Languages Simplification and Adaptation
  • 14. Eric Umuhoza, Ph.D. Candidate  Adaptation of modeling languages • Standard languages are complex (E.g.: BPMN) • No perfect match of the domain to be modeled (E.g.: UML)  Other approaches towards simplification • New DSLs • Extending an existing base language  Our approach • Simplify existing language according to the user needs • Less time consuming and error prone than building a DSL from scratch • Gain in Experience, Tools, and tutorials DSLs Simplification Problem - Motivation
  • 15. Eric Umuhoza, Ph.D. Candidate End-userLanguagedesigner User Questionnaire Language Evaluation Definition of Language Variants Modeling of Use Cases Selection of Reducible Language Elements General Language Simplified Language DSLs Simplification Problem - Process
  • 16. Eric Umuhoza, Ph.D. Candidate DSLs Simplification Problem – Case study  Simplification of BPMN for Personal Process Modeling  Goal Study “how much is enough” for • End users • Collaborative planning and execution Michael zur Muehlen and Jan Recker "How much language is enough? "  Less than 20% of BPMN constructs are used regularly
  • 17. Eric Umuhoza, Ph.D. Candidate End-userLanguagedesigner User Questionnaire Language Evaluation Definition of Language Variants Modeling of Use Cases Selection of BPMN Elements BPMN Simplified BPMN DSLs Simplification Problem - Process
  • 18. Eric Umuhoza, Ph.D. Candidate Selection of BPMN Elements  Selected 8 elements from 52 constructs of BPMN
  • 19. Eric Umuhoza, Ph.D. Candidate Language Variants Definition  Defined 4 language variants
  • 20. Eric Umuhoza, Ph.D. Candidate  Experiment setup • 3 application scenarios • 4 syntax variants • 24 users • Multiple tests per user DSLs Simplification Problem - Validation
  • 21. Eric Umuhoza, Ph.D. Candidate Results Analysis • Average modeling time Language Variants Duration(s) ~19 min ~16 min ~21 min Language Variants #Elements • Average # of used concepts
  • 22. Eric Umuhoza, Ph.D. Candidate Results Analysis Language Variants #opinions Easy Med Hard • Explicit feedback on language variants complexity Variant 1 Simpler, faster, less errors, limited power (no conditions) Variant 2 Strong thanks to looping, a lot of errors Variant 3 Good compromise. Limited by single local parameter Variant 4 Harder, slower, more errors. Multiple local parameters not appreciated • Rule of “thumb” on Language Variants
  • 23. Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano Aula Magna – Rettorato Mercoledì 27 maggio 2015 User Interaction Modeling Language Mobile Modeling Language
  • 24. Eric Umuhoza, Ph.D. Candidate Mobile Modeling Language  A platform independent modelling (PIM) language • A mobile-specific extension of IFML • Covering mobile-specific requirements • Amenable to code generation  Why IFML? • a OMG standard for User Interaction Modeling • Technology-independent • It is extensible
  • 25. Eric Umuhoza, Ph.D. Candidate 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
  • 26. Eric Umuhoza, Ph.D. Candidate Mobile–specific extension of IFML  Four main sets of mobile-specific concepts 1. Mobile Containers and Components 2. Events • User interactions • Device’s features • Sensors 3. Mobile Actions 4. Mobile Context Bottom-up approach Investigation of Mobile Platforms Extraction of Common Features Abstraction and Conceptualization  Meta-model excerpts:
  • 27. Eric Umuhoza, Ph.D. Candidate 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
  • 28. Eric Umuhoza, Ph.D. Candidate Mobile IFML – Access to native features MobileComponent MobileAction MobileActionEvent  Access to system features  Native functions  Phone sensors
  • 29. Eric Umuhoza, Ph.D. Candidate Mobile IFML – Mobile Context  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.
  • 30. Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano Aula Magna – Rettorato Mercoledì 27 maggio 2015 User Interaction Modeling Language IOT Integration
  • 31. Eric Umuhoza, Ph.D. Candidate IoT Integration- Overview  Interactions between the user and the IoT systems in two phases  User – Terminal  Terminal – IoT Devices
  • 32. Eric Umuhoza, Ph.D. Candidate 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  User interaction patterns …  Meta-model excerpts:
  • 33. Eric Umuhoza, Ph.D. Candidate 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
  • 34. Eric Umuhoza, Ph.D. Candidate IoT user interaction patterns – Get • State of a device • Details of a device • Information from device • Search device • Nearby devices • …  Get patterns
  • 35. Eric Umuhoza, Ph.D. Candidate 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
  • 36. Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano Aula Magna – Rettorato Mercoledì 27 maggio 2015 Implementation: Code Generation Strategies
  • 37. Eric Umuhoza, Ph.D. Candidate Code generation strategies  CIM to several PIMs  PIM to several PSMs  Many other combinations  Skipping levels Model-driven architecture (MDA) Application Code Model-to-Text Transformation (M2T)
  • 38. Eric Umuhoza, Ph.D. Candidate Code generation strategies 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)  Data-driven native applications
  • 39. Eric Umuhoza, Ph.D. Candidate Code generation strategies 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)  Native apps with complex device- specific functionalities
  • 40. Eric Umuhoza, Ph.D. Candidate Code generation strategies 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)  Native apps for one platform
  • 41. Eric Umuhoza, Ph.D. Candidate Code generation strategies 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)  Multiple platform availability (and time to market) is more important than high performance  Loose in nativity • Gain market share
  • 42. Eric Umuhoza, Ph.D. Candidate Code generation strategies 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)  FSM :Cross-platform Framework Specific Model  Team with low experience in Targeted tool
  • 43. Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano Aula Magna – Rettorato Mercoledì 27 maggio 2015 Application Monitoring: Model-Driven Framework for User Behavior Analysis
  • 44. Eric Umuhoza, Ph.D. Candidate Model-driven user behavior analysis  Web analytics tools provide reports regarding web site usage • Page visits, Visitors, Navigation • Statistics about the content of the pages? • Event tracking of GA tracking some content level interactions • But • Tracking code placed at each position the event could appear • Limited set of events  Our approach • Component level analysis (also without navigations) • Enriched analytics by querying the instances of DB • All components, but the ones hidden on purpose, are displayed • Visualization on models
  • 45. Eric Umuhoza, Ph.D. Candidate 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:"...",...]]
  • 46. Eric Umuhoza, Ph.D. Candidate  Possible implementations  Elasticsearch, Logstash, and Kibana  Microsoft Azure (HDInsights, Apache Spark)  Etc. Approach - Analysis and Visualization  Three kinds of user behavior analytics  Navigation-based analytics: • Number of visits. entrance rate, Incoming Link Ratio, Outgoing Link Ratio  Content-based analytics • Top k visualized instances • Top clicked instances  Structure-based analytics  Visualization  Traditional data visualization tools • Pie, bar, navigation flow charts  Colored model
  • 47. Results Visualization  Enhancing User Experience  Refactoring  Repositioning  Etc.
  • 48. Eric Umuhoza, Ph.D. Candidate Conclusions and Future Directions  Model-driven development of mobile and IoT applications  Design time • Domain-specific modeling languages for Mobile and IoT • Design methodology – user interaction patterns  Implementation • Code generation strategies  Execution time • Model driven user behavior analysis  Solutions to barriers to model-driven development adoption  Future Directions  Implementation of IoT – based Apps  Language Simplification and adaptation  Dissecting Design Effort and Modeling Effort in MDD Approaches  User Behavior Analytics
  • 49. Firma convenzione Politecnico di Milano e Veneranda Fabbrica del Duomo di Milano Aula Magna – Rettorato Mercoledì 27 maggio 2015 Domain-Specific Modeling and Code Generation for Cross-platform Mobile and IoT-based Applications Thanks