SlideShare uma empresa Scribd logo
1 de 19
FEDERAL UNIVERSITY OF SÃO CARLOS
CENTER OF SCIENCES AND TECHNOLOGY
GRADUATE PROGRAM IN COMPUTER SCIENCE
Carlos Eduardo Cirilo
Antonio Francisco do Prado
Wanderley L. de Souza
Luciana Aparecida Martinez Zaina
MODEL DRIVEN RICHUBI - A MODEL
DRIVEN PROCESS FOR BUILDING RICH
INTERFACES OF CONTEXT-SENSITIVE
UBIQUITOUS APPLICATIONS
Software Engineering
Group
1
Available in: http://dx.doi.org/10.1145/1878450.1878485
2
MOTIVATION
 Rich interfaces
• The main proposal is to
provide the user with a rich
interaction
o Rich interface
components: multimedia,
drag & drop, sliding panels,
auto-completion fields,
online spreadsheets, etc...
• Better responsiveness and
performance
o Asynchronous
communication
o Avoid unnecessary page
reloads
• Better user interaction
(facilitates and motivates)
3
MOTIVATION
 Ubiquitous Computing
Computing has enabled users easy access to services and
applications from anywhere, anytime, and using any device.
 Heterogeneity of access devices
 Need to adapt applications’ interfaces
4
GOALS OF THIS PAPER
 To define a model-driven process (Model Driven RichUbi)
 Support to the development of rich interfaces of context-
sensitive ubiquitous applications
 Based on the conceptions of Domain-Specific Modeling (DSM)
 Interfaces modeling based on a rich interface components
metamodel
 Hides low level details
 Facilitates communication between users and developers
 Users can understand technical issues better and suggest
improvements directly on the conceptual level
 Partial code generation to different platforms
 Development of code generators and dynamic content adapters
5
CONCEPTS
 Model-Driven Development.
Interface adaptation strategies.
6
MODEL-DRIVEN DEVELOPMENT
 Focuses on models instead of source code
 Raises the level of abstraction during the development
 Applies appropriate model-to-code (M2C) transformations to
generate the entire or most of the code for different platforms
The methodology to user interface:
 Model-Based User Interface Development :
 Definition of the different aspects of user interfaces
(presentation, dialog, user tasks structure) in an abstract
way, regardless the implementation platform
7
MODEL-DRIVEN DEVELOPMENT
Domain Specific Modeling (DSM)
 Models are built by using Domain Specific Languages
(DSLs), which can be defined through metamodels that
represent the knowledge of a particular domain
 Reduces the effort in translating the concepts of problem
domain into concepts of the solution domain
 The interface models are created in a more intuitive way
and are less associated with the technical details of
implementation
8
INTERFACE ADAPTATION
STRATEGIES
9
INTERFACE ADAPTATION
STRATEGIES
10
MODEL DRIVEN RICHUBI
 MDD (DSM) Rich Interfaces
Focuses on rich interface domain in order to support the
development of rich interfaces for different platforms
 Modeling is performed from a rich interface components
metamodel
 Employs a hybrid adaptation strategy:
 Requirements are mapped into a few generic interface
versions, each being appropriate for a particular group of
devices (static adaptation)
 Dynamic content adapters allow, at runtime, to select the
version that best fits the device profile, and to adapt the
code snippets to meet the characteristics of the access
device (dynamic adaptation)
11
MODEL DRIVEN RICHUBI
 Process Overview
12
DOMAIN ENGINEERING
 Construction of the Rich Interface Components Metamodel
 The requirements of rich interface domain are elicited, specified,
analyzed and represented in a rich interface components metamodel
Interface components
identified in
environments of Web
development
(Dreamweaver, MS
Visual Studio)
13
DOMAIN ENGINEERING
 Construction of the Model to Code Transformations
 The transformations that will be applied to the interface models for
code generation during the AE step are built
Construction of Content Adapters
 Building of the content adapters that will accomplish the dynamic
adaptation of the interface components according to the device profile
during the application execution
14
MODEL DRIVEN RICHUBI
 Process Overview
15
APPLICATION ENGINEERING
 Ubiquitous applications with rich interfaces are built by reusing the
artifacts produced in the DE
 Follows the Analysis, Design, Implementation and Testing disciplines
 Case Study: Web module of the Ambulance Space Positioning System
(ASPS)
 ASPS emerged from an experimental study which aimed at
investigating the use of the signals from GSM antennas for the
location of people or objects
 ASPS allows the fleet management team to monitor the mobility of
the ambulances
16
APPLICATION ENGINEERING
 Design
 ASPS specifications refinement
 Modeling of the application interfaces as an instance of the
metamodel
17
APPLICATION ENGINEERING
 Implementation and Testing
 Partial code generation from modeling by using the M2C
transformations
 Content adapter reuse
18
CONCLUSIONS AND FURTHER
WORK
 Main contributions
 Study and research on the use of DSM for building rich interfaces of
context-sensitive ubiquitous applications;
 Specification of a rich interface components metamodel and M2C
transformations to support the modeling and code generation for
different platforms; and
 Content adaptation carried out in a hybrid fashion with the use of
context.
 Future Work
 Addition of new rich interface components to the metamodel;
 Construction of a graphical notation for the metamodel in order to
turn modeling more user-friendly; and
 Optimizations in the M2C transformations that allow further
automation of code generation.
19
Thank you!
Carlos E. Cirilo
carlos_cirilo@dc.ufscar.br
Antonio F. Prado
prado@dc.ufscar.br
Luciana A. M. Zaina
lzaina@ufscar.br
http://www.ges.dc.ufscar.br
Wanderley L. de Souza
desouza@dc.ufscar.br

Mais conteúdo relacionado

Semelhante a Model driven RichUbi: a model driven process for building rich interfaces of context-sensitive ubiquitous applications

MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...Amit Sheth
 
UGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation KeynoteUGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation KeynoteLorenzo Barbieri
 
RCAMM_IEEE_RAICS_2013_6745453
RCAMM_IEEE_RAICS_2013_6745453RCAMM_IEEE_RAICS_2013_6745453
RCAMM_IEEE_RAICS_2013_6745453Shekhar Parkhi
 
IRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET Journal
 
Jonathan Terry's Resume
Jonathan Terry's ResumeJonathan Terry's Resume
Jonathan Terry's Resumejcterry
 
What is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docxWhat is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docxTechnogeeks
 
A methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application developmentA methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application developmentIAEME Publication
 
A methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application developmentA methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application developmentIAEME Publication
 
Innovation in Cross-Platform App Development.pdf
Innovation in Cross-Platform App Development.pdfInnovation in Cross-Platform App Development.pdf
Innovation in Cross-Platform App Development.pdfjennyaistechnolabs
 
Development of Multiplatform CMS System with Zend Framework
Development of Multiplatform CMS System with Zend FrameworkDevelopment of Multiplatform CMS System with Zend Framework
Development of Multiplatform CMS System with Zend FrameworkSinisa Vukovic
 
App Modernization: From 0 to Hero
App Modernization: From 0 to HeroApp Modernization: From 0 to Hero
App Modernization: From 0 to HeroLorenzo Barbieri
 
Scaling frontend applications with micro-frontends Presentation.pdf
Scaling frontend applications with micro-frontends Presentation.pdfScaling frontend applications with micro-frontends Presentation.pdf
Scaling frontend applications with micro-frontends Presentation.pdfKatamaRajuBandigari1
 
A Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdfA Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdflubnayasminsebl
 
Build Innovative Web Applications with Full Stack Development Know -123.pdf
Build Innovative Web Applications with Full Stack Development Know -123.pdfBuild Innovative Web Applications with Full Stack Development Know -123.pdf
Build Innovative Web Applications with Full Stack Development Know -123.pdfUncodemy
 
Cookbook for Building An App
Cookbook for Building An AppCookbook for Building An App
Cookbook for Building An AppManish Jain
 

Semelhante a Model driven RichUbi: a model driven process for building rich interfaces of context-sensitive ubiquitous applications (20)

MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
 
UGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation KeynoteUGIdotNET App Modernisation Keynote
UGIdotNET App Modernisation Keynote
 
RCAMM_IEEE_RAICS_2013_6745453
RCAMM_IEEE_RAICS_2013_6745453RCAMM_IEEE_RAICS_2013_6745453
RCAMM_IEEE_RAICS_2013_6745453
 
IRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile Application
 
Jonathan Terry's Resume
Jonathan Terry's ResumeJonathan Terry's Resume
Jonathan Terry's Resume
 
PhD thesis
PhD thesisPhD thesis
PhD thesis
 
What is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docxWhat is Mendix and the concept of low-code development.docx
What is Mendix and the concept of low-code development.docx
 
A methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application developmentA methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application development
 
A methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application developmentA methodology for model driven multiplatform mobile application development
A methodology for model driven multiplatform mobile application development
 
Ernest Morariu
Ernest MorariuErnest Morariu
Ernest Morariu
 
Innovation in Cross-Platform App Development.pdf
Innovation in Cross-Platform App Development.pdfInnovation in Cross-Platform App Development.pdf
Innovation in Cross-Platform App Development.pdf
 
Development of Multiplatform CMS System with Zend Framework
Development of Multiplatform CMS System with Zend FrameworkDevelopment of Multiplatform CMS System with Zend Framework
Development of Multiplatform CMS System with Zend Framework
 
App Modernization: From 0 to Hero
App Modernization: From 0 to HeroApp Modernization: From 0 to Hero
App Modernization: From 0 to Hero
 
Scaling frontend applications with micro-frontends Presentation.pdf
Scaling frontend applications with micro-frontends Presentation.pdfScaling frontend applications with micro-frontends Presentation.pdf
Scaling frontend applications with micro-frontends Presentation.pdf
 
A Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdfA Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdf
 
Build Innovative Web Applications with Full Stack Development Know -123.pdf
Build Innovative Web Applications with Full Stack Development Know -123.pdfBuild Innovative Web Applications with Full Stack Development Know -123.pdf
Build Innovative Web Applications with Full Stack Development Know -123.pdf
 
Cookbook for Building An App
Cookbook for Building An AppCookbook for Building An App
Cookbook for Building An App
 
Windows dna
Windows dnaWindows dna
Windows dna
 
Wecreate
WecreateWecreate
Wecreate
 
Sivagama_sundari_Sakthivel_Resume_2016
Sivagama_sundari_Sakthivel_Resume_2016Sivagama_sundari_Sakthivel_Resume_2016
Sivagama_sundari_Sakthivel_Resume_2016
 

Mais de Luciana Zaina

Adding user experience aspects to the writing of user stories
Adding user experience aspects to the writing of user storiesAdding user experience aspects to the writing of user stories
Adding user experience aspects to the writing of user storiesLuciana Zaina
 
A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...
A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...
A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...Luciana Zaina
 
A design methodology for user-centered innovation in the software development...
A design methodology for user-centered innovation in the software development...A design methodology for user-centered innovation in the software development...
A design methodology for user-centered innovation in the software development...Luciana Zaina
 
Um ambiente colaborativo para suporte ao comércio na Universidade
Um ambiente colaborativo para suporte ao comércio na UniversidadeUm ambiente colaborativo para suporte ao comércio na Universidade
Um ambiente colaborativo para suporte ao comércio na UniversidadeLuciana Zaina
 
Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Enge...
Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Enge...Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Enge...
Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Enge...Luciana Zaina
 
Classification of learning profile based on categories of student preferences
Classification of learning profile based on categories of student preferencesClassification of learning profile based on categories of student preferences
Classification of learning profile based on categories of student preferencesLuciana Zaina
 
Learning objects retrieval from contextual analysis of user preferences to en...
Learning objects retrieval from contextual analysis of user preferences to en...Learning objects retrieval from contextual analysis of user preferences to en...
Learning objects retrieval from contextual analysis of user preferences to en...Luciana Zaina
 
An Approach for Supporting P2P Collaborative Communication Based on Learning ...
An Approach for Supporting P2P Collaborative Communication Based on Learning ...An Approach for Supporting P2P Collaborative Communication Based on Learning ...
An Approach for Supporting P2P Collaborative Communication Based on Learning ...Luciana Zaina
 
Adaptive learning in the educational e-LORS system: an approach based on pref...
Adaptive learning in the educational e-LORS system: an approach based on pref...Adaptive learning in the educational e-LORS system: an approach based on pref...
Adaptive learning in the educational e-LORS system: an approach based on pref...Luciana Zaina
 
TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...
TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...
TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...Luciana Zaina
 
Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...
Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...
Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...Luciana Zaina
 
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...Luciana Zaina
 
Identificação das necessidades de interação dos usuários em sistemas ERP: pro...
Identificação das necessidades de interação dos usuários em sistemas ERP: pro...Identificação das necessidades de interação dos usuários em sistemas ERP: pro...
Identificação das necessidades de interação dos usuários em sistemas ERP: pro...Luciana Zaina
 
Aprendendo História através de Museus Virtuais: uma parceria entre Professore...
Aprendendo História através de Museus Virtuais: uma parceria entre Professore...Aprendendo História através de Museus Virtuais: uma parceria entre Professore...
Aprendendo História através de Museus Virtuais: uma parceria entre Professore...Luciana Zaina
 
Cataloguing of learning objects using social tagging
Cataloguing of learning objects using social taggingCataloguing of learning objects using social tagging
Cataloguing of learning objects using social taggingLuciana Zaina
 
The use of social tagging to support the cataloguing of learning objects
The use of social tagging to support the cataloguing of learning objectsThe use of social tagging to support the cataloguing of learning objects
The use of social tagging to support the cataloguing of learning objectsLuciana Zaina
 
Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...
Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...
Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...Luciana Zaina
 
Interaction With Mobile Devices by Elderly People: The Brazilian Scenario
Interaction With Mobile Devices by Elderly People: The Brazilian ScenarioInteraction With Mobile Devices by Elderly People: The Brazilian Scenario
Interaction With Mobile Devices by Elderly People: The Brazilian ScenarioLuciana Zaina
 

Mais de Luciana Zaina (18)

Adding user experience aspects to the writing of user stories
Adding user experience aspects to the writing of user storiesAdding user experience aspects to the writing of user stories
Adding user experience aspects to the writing of user stories
 
A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...
A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...
A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...
 
A design methodology for user-centered innovation in the software development...
A design methodology for user-centered innovation in the software development...A design methodology for user-centered innovation in the software development...
A design methodology for user-centered innovation in the software development...
 
Um ambiente colaborativo para suporte ao comércio na Universidade
Um ambiente colaborativo para suporte ao comércio na UniversidadeUm ambiente colaborativo para suporte ao comércio na Universidade
Um ambiente colaborativo para suporte ao comércio na Universidade
 
Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Enge...
Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Enge...Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Enge...
Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Enge...
 
Classification of learning profile based on categories of student preferences
Classification of learning profile based on categories of student preferencesClassification of learning profile based on categories of student preferences
Classification of learning profile based on categories of student preferences
 
Learning objects retrieval from contextual analysis of user preferences to en...
Learning objects retrieval from contextual analysis of user preferences to en...Learning objects retrieval from contextual analysis of user preferences to en...
Learning objects retrieval from contextual analysis of user preferences to en...
 
An Approach for Supporting P2P Collaborative Communication Based on Learning ...
An Approach for Supporting P2P Collaborative Communication Based on Learning ...An Approach for Supporting P2P Collaborative Communication Based on Learning ...
An Approach for Supporting P2P Collaborative Communication Based on Learning ...
 
Adaptive learning in the educational e-LORS system: an approach based on pref...
Adaptive learning in the educational e-LORS system: an approach based on pref...Adaptive learning in the educational e-LORS system: an approach based on pref...
Adaptive learning in the educational e-LORS system: an approach based on pref...
 
TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...
TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...
TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...
 
Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...
Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...
Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...
 
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces fo...
 
Identificação das necessidades de interação dos usuários em sistemas ERP: pro...
Identificação das necessidades de interação dos usuários em sistemas ERP: pro...Identificação das necessidades de interação dos usuários em sistemas ERP: pro...
Identificação das necessidades de interação dos usuários em sistemas ERP: pro...
 
Aprendendo História através de Museus Virtuais: uma parceria entre Professore...
Aprendendo História através de Museus Virtuais: uma parceria entre Professore...Aprendendo História através de Museus Virtuais: uma parceria entre Professore...
Aprendendo História através de Museus Virtuais: uma parceria entre Professore...
 
Cataloguing of learning objects using social tagging
Cataloguing of learning objects using social taggingCataloguing of learning objects using social tagging
Cataloguing of learning objects using social tagging
 
The use of social tagging to support the cataloguing of learning objects
The use of social tagging to support the cataloguing of learning objectsThe use of social tagging to support the cataloguing of learning objects
The use of social tagging to support the cataloguing of learning objects
 
Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...
Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...
Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...
 
Interaction With Mobile Devices by Elderly People: The Brazilian Scenario
Interaction With Mobile Devices by Elderly People: The Brazilian ScenarioInteraction With Mobile Devices by Elderly People: The Brazilian Scenario
Interaction With Mobile Devices by Elderly People: The Brazilian Scenario
 

Último

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Último (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Model driven RichUbi: a model driven process for building rich interfaces of context-sensitive ubiquitous applications

  • 1. FEDERAL UNIVERSITY OF SÃO CARLOS CENTER OF SCIENCES AND TECHNOLOGY GRADUATE PROGRAM IN COMPUTER SCIENCE Carlos Eduardo Cirilo Antonio Francisco do Prado Wanderley L. de Souza Luciana Aparecida Martinez Zaina MODEL DRIVEN RICHUBI - A MODEL DRIVEN PROCESS FOR BUILDING RICH INTERFACES OF CONTEXT-SENSITIVE UBIQUITOUS APPLICATIONS Software Engineering Group 1 Available in: http://dx.doi.org/10.1145/1878450.1878485
  • 2. 2 MOTIVATION  Rich interfaces • The main proposal is to provide the user with a rich interaction o Rich interface components: multimedia, drag & drop, sliding panels, auto-completion fields, online spreadsheets, etc... • Better responsiveness and performance o Asynchronous communication o Avoid unnecessary page reloads • Better user interaction (facilitates and motivates)
  • 3. 3 MOTIVATION  Ubiquitous Computing Computing has enabled users easy access to services and applications from anywhere, anytime, and using any device.  Heterogeneity of access devices  Need to adapt applications’ interfaces
  • 4. 4 GOALS OF THIS PAPER  To define a model-driven process (Model Driven RichUbi)  Support to the development of rich interfaces of context- sensitive ubiquitous applications  Based on the conceptions of Domain-Specific Modeling (DSM)  Interfaces modeling based on a rich interface components metamodel  Hides low level details  Facilitates communication between users and developers  Users can understand technical issues better and suggest improvements directly on the conceptual level  Partial code generation to different platforms  Development of code generators and dynamic content adapters
  • 6. 6 MODEL-DRIVEN DEVELOPMENT  Focuses on models instead of source code  Raises the level of abstraction during the development  Applies appropriate model-to-code (M2C) transformations to generate the entire or most of the code for different platforms The methodology to user interface:  Model-Based User Interface Development :  Definition of the different aspects of user interfaces (presentation, dialog, user tasks structure) in an abstract way, regardless the implementation platform
  • 7. 7 MODEL-DRIVEN DEVELOPMENT Domain Specific Modeling (DSM)  Models are built by using Domain Specific Languages (DSLs), which can be defined through metamodels that represent the knowledge of a particular domain  Reduces the effort in translating the concepts of problem domain into concepts of the solution domain  The interface models are created in a more intuitive way and are less associated with the technical details of implementation
  • 10. 10 MODEL DRIVEN RICHUBI  MDD (DSM) Rich Interfaces Focuses on rich interface domain in order to support the development of rich interfaces for different platforms  Modeling is performed from a rich interface components metamodel  Employs a hybrid adaptation strategy:  Requirements are mapped into a few generic interface versions, each being appropriate for a particular group of devices (static adaptation)  Dynamic content adapters allow, at runtime, to select the version that best fits the device profile, and to adapt the code snippets to meet the characteristics of the access device (dynamic adaptation)
  • 11. 11 MODEL DRIVEN RICHUBI  Process Overview
  • 12. 12 DOMAIN ENGINEERING  Construction of the Rich Interface Components Metamodel  The requirements of rich interface domain are elicited, specified, analyzed and represented in a rich interface components metamodel Interface components identified in environments of Web development (Dreamweaver, MS Visual Studio)
  • 13. 13 DOMAIN ENGINEERING  Construction of the Model to Code Transformations  The transformations that will be applied to the interface models for code generation during the AE step are built Construction of Content Adapters  Building of the content adapters that will accomplish the dynamic adaptation of the interface components according to the device profile during the application execution
  • 14. 14 MODEL DRIVEN RICHUBI  Process Overview
  • 15. 15 APPLICATION ENGINEERING  Ubiquitous applications with rich interfaces are built by reusing the artifacts produced in the DE  Follows the Analysis, Design, Implementation and Testing disciplines  Case Study: Web module of the Ambulance Space Positioning System (ASPS)  ASPS emerged from an experimental study which aimed at investigating the use of the signals from GSM antennas for the location of people or objects  ASPS allows the fleet management team to monitor the mobility of the ambulances
  • 16. 16 APPLICATION ENGINEERING  Design  ASPS specifications refinement  Modeling of the application interfaces as an instance of the metamodel
  • 17. 17 APPLICATION ENGINEERING  Implementation and Testing  Partial code generation from modeling by using the M2C transformations  Content adapter reuse
  • 18. 18 CONCLUSIONS AND FURTHER WORK  Main contributions  Study and research on the use of DSM for building rich interfaces of context-sensitive ubiquitous applications;  Specification of a rich interface components metamodel and M2C transformations to support the modeling and code generation for different platforms; and  Content adaptation carried out in a hybrid fashion with the use of context.  Future Work  Addition of new rich interface components to the metamodel;  Construction of a graphical notation for the metamodel in order to turn modeling more user-friendly; and  Optimizations in the M2C transformations that allow further automation of code generation.
  • 19. 19 Thank you! Carlos E. Cirilo carlos_cirilo@dc.ufscar.br Antonio F. Prado prado@dc.ufscar.br Luciana A. M. Zaina lzaina@ufscar.br http://www.ges.dc.ufscar.br Wanderley L. de Souza desouza@dc.ufscar.br

Notas do Editor

  1. The Rich interfaces main proposal is to provide the user with a rich interaction. A imagem mostra um exemplo de interface rica, com recursos auto-completar (campo para busca de músicas no canto superior direito), componente de reprodução de áudio e vídeos, painel de abas (menu superior), e leiaute rico. No campo de busca de músicas, à medida que o usuário insere valores no campo, requisições assíncronas são enviadas ao servidor e retornadas as sugestões ao usuário, sem que o mesmo tenha que aguardar a resposta (ou seja, ele continua interagindo com a aplicação mesmo enquanto sua requisição está sendo processada – modelo assíncrono de comunicação – uso de AJAX).
  2. Ubiquitous Computing has enabled users easy access to services and applications from anywhere, anytime, and using any device.
  3. Pelo fato de os modelos (nos quais os requisitos da aplicação são mapeados em componentes de interfaces) serem elaborados na mesma linguagem e jargão do domínio, a comunicação entre os usuários e os desenvolvedores torna-se simplificada (o usuário sabe que o requisito X foi mapeado para o componente painel de aba, por exemplo). Os usuários podem sugerir melhorias diretamente nos modelos. Posteriormente, qdo o modelo tiver completo, aplica-se as transformações modelo-para-código apropriadas (geradores de código), para gerar versões estáticas da interface para diferentes tecnologias. Com o uso dos adaptadores dinâmicos de conteúdo desenvolvidos no processo é possível identificar o dispositivo de acesso, escolher a versão mais apropriada da interface para aquele dispositivo, e refina-la ainda mais conforme as peculiaridades do dispositivo de acesso identificado.
  4. Pelo fato de os modelos (nos quais os requisitos da aplicação são mapeados em componentes de interfaces) serem elaborados na mesma linguagem e jargão do domínio, a comunicação entre os usuários e os desenvolvedores torna-se simplificada (o usuário sabe que o requisito X foi mapeado para o componente painel de aba, por exemplo). Os usuários podem sugerir melhorias diretamente nos modelos. Posteriormente, qdo o modelo tiver completo, aplica-se as transformações modelo-para-código apropriadas (geradores de código), para gerar versões estáticas da interface para diferentes tecnologias. Com o uso dos adaptadores dinâmicos de conteúdo desenvolvidos no processo é possível identificar o dispositivo de acesso, escolher a versão mais apropriada da interface para aquele dispositivo, e refina-la ainda mais conforme as peculiaridades do dispositivo de acesso identificado.
  5. A parte da adaptação estática é facilitada com a geração de código a partir da modelagem para diferentes tecnologias (através do reúso do metamodelo e das transformações M2C) A parte da adaptação dinâmica é facilitada com o emprego dos adaptadores de conteúdo (através do reúso desses componentes)
  6. O processo é dividido nas etapas de ED e EA. Na ED constóem-se os artefatos para reúso (metamodelo, transformações M2C, e adaptadores de conteúdo). A EA constóem-se as interfaces ricas das aplicações ubíquas sensíveis ao contexto com o reúso dos artefatos previamente construídos na ED. Esses artefatos podem ser reutilizados em diferentes projetos na etapa de EA.
  7. A figura mostra um exemplo de especificação dos componentes de interface. À esquerda o diagrama de classes especificando alguns dos componentes de interface que foram identificados a partir de ambientes de desenvolvimento Web (Dreamweaver, MS VisualStudio...). À direita tem-se a representação dos componentes (em azul) no metamodelo extraídos a partir do diagrama de classes. O metamodelo foi especificado utilizando o Eclipse Modeling Framework (EMF).
  8. Pode-se criar transformações que geram código para diferentes tecnologias a partir do mesmo modelo (ex: XHTML para desktops e smartphones, WML, VoiceXML, HTML5 etc...) Template JET para a geração do código do componente de inerface rica TabbedPanel. Uso das funções da biblioteca jQuery para renderizar o painel de abas na saída (linhas 2-4), e uso de folhas de estilo pré-fabricadas para pré-formatação do leiaute da interface (atributo class da tag div na linha 6). As transformações também foram incorporadas à ferramenta MVCASE para suporte à geração de código na EA.
  9. O processo é dividido nas etapas de ED e EA. Na ED constóem-se os artefatos para reúso (metamodelo, transformações M2C, e adaptadores de conteúdo). A EA constóem-se as interfaces ricas das aplicações ubíquas sensíveis ao contexto com o reúso dos artefatos previamente construídos na ED. Esses artefatos podem ser reutilizados em diferentes projetos na etapa de EA.
  10. A figura ilustra como é feito o mapeamento dos requisitos para componentes de interface no modelo que satisfação esses requisitos. É ilustrado também a forma com que o metamodelo está sendo instanciado no backend.