SlideShare a Scribd company logo
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

More Related Content

PDF
Introduction to Cloud computing
PDF
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...
PPTX
Future of technical writing updated 10 sept 2014
PDF
Enabling Java in Latency Sensitive Applications by Gil Tene, CTO, Azul Systems
PDF
Understanding Latency Response Time and Behavior
PDF
CloudByte_CureForNoisyNeighbors
PPT
Context Aware Computing
PPTX
Creating Context-Aware Applications
Introduction to Cloud computing
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...
Future of technical writing updated 10 sept 2014
Enabling Java in Latency Sensitive Applications by Gil Tene, CTO, Azul Systems
Understanding Latency Response Time and Behavior
CloudByte_CureForNoisyNeighbors
Context Aware Computing
Creating Context-Aware Applications

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

PPTX
Model driven development and code generation of software systems
PDF
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
PDF
AJAX for Mobile Devices - 04/2009
PDF
ICS2208 Lecture3 2023-2024 - Model Based User Interfaces
PDF
Quill slides-www2013
PDF
Quill slides-www2013
PPTX
Software Engineering for Web Applications
PDF
Work Measurement Application - Ghent Internship Report - Adel Belasker
PDF
Technology Trends
PDF
Implementing Hypermedia Clients: It's Not Rocket Science – Mike Amundsen, Pri...
PDF
Digitization solutions - A new breed of software
PPTX
On the Runtime Models for Complex, Distributed and Aware Systems
PDF
Application Prototyping - Pablo González - Capturing and Managing Requirements
PDF
fundamental.pdfhiwuwhsudydjdoshnskahdjsksj
PPTX
A model driven development framework for developing sense-compute-control app...
PDF
Be My API How to Implement an API Strategy Everyone will Love
PPT
NEXiDA at OMG June 2009
PPTX
L14 Summary and Conclusions
PDF
Design Software Driven by Domain
PDF
Software Engineering 2014
Model driven development and code generation of software systems
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
AJAX for Mobile Devices - 04/2009
ICS2208 Lecture3 2023-2024 - Model Based User Interfaces
Quill slides-www2013
Quill slides-www2013
Software Engineering for Web Applications
Work Measurement Application - Ghent Internship Report - Adel Belasker
Technology Trends
Implementing Hypermedia Clients: It's Not Rocket Science – Mike Amundsen, Pri...
Digitization solutions - A new breed of software
On the Runtime Models for Complex, Distributed and Aware Systems
Application Prototyping - Pablo González - Capturing and Managing Requirements
fundamental.pdfhiwuwhsudydjdoshnskahdjsksj
A model driven development framework for developing sense-compute-control app...
Be My API How to Implement an API Strategy Everyone will Love
NEXiDA at OMG June 2009
L14 Summary and Conclusions
Design Software Driven by Domain
Software Engineering 2014
Ad

More from Luciana Zaina (18)

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

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Encapsulation theory and applications.pdf
PDF
KodekX | Application Modernization Development
PPTX
Big Data Technologies - Introduction.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Empathic Computing: Creating Shared Understanding
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
Approach and Philosophy of On baking technology
Network Security Unit 5.pdf for BCA BBA.
Understanding_Digital_Forensics_Presentation.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Dropbox Q2 2025 Financial Results & Investor Presentation
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Encapsulation theory and applications.pdf
KodekX | Application Modernization Development
Big Data Technologies - Introduction.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
MYSQL Presentation for SQL database connectivity
Empathic Computing: Creating Shared Understanding
Spectral efficient network and resource selection model in 5G networks
Digital-Transformation-Roadmap-for-Companies.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
NewMind AI Weekly Chronicles - August'25 Week I
The AUB Centre for AI in Media Proposal.docx
Programs and apps: productivity, graphics, security and other tools
Advanced methodologies resolving dimensionality complications for autism neur...

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

Editor's Notes

  • #3: 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).
  • #4: Ubiquitous Computing has enabled users easy access to services and applications from anywhere, anytime, and using any device.
  • #5: 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.
  • #6: 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.
  • #11: 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)
  • #12: 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.
  • #13: 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).
  • #14: 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.
  • #15: 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.
  • #17: 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.