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

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

Embed Size (px)

Citation preview

FEDERAL UNIVERSITY OF SÃO CARLOSCENTER OF SCIENCES AND TECHNOLOGYGRADUATE PROGRAM IN COMPUTER SCIENCE

Carlos Eduardo CiriloAntonio Francisco do Prado

Wanderley L. de SouzaLuciana Aparecida Martinez Zaina

MODEL DRIVEN RICHUBI - A MODEL DRIVEN PROCESS FOR BUILDING RICH INTERFACES OF CONTEXT-SENSITIVE

UBIQUITOUS APPLICATIONS

Software EngineeringGroup

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 InterfacesFocuses 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

Visualization on HTC G1 screen:with interface

adaptationwithout interface

adaptation

Visualization on iPhone screen:with interface

adaptationwithout interface

adaptation

Visualization on desktop screen:

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

[email protected]

Antonio F. Prado

[email protected]

Luciana A. M. Zaina

[email protected]

http://www.ges.dc.ufscar.br

Wanderley L. de Souza

[email protected]