4. “The world is not a desktop”
“A good tool is an invisible tool. By invisible,
we mean that the tool does not intrude on
your consciousness; you focus on the task,
not the tool.”
Eyeglasses are a good tool
Mark Weiser, November 7th, 1993
5. The major trends in computing
Mainframe computing (N users 1 computer)
Personal computing (1 user 1 computer)
▪
Internet – widespread distributed computing
(transition)
Ubiquitous computing (N users - N computers)
Mark Weiser and John S. Brown (1997)
6.
“Calm technology engages both the center and
the periphery of our attention, and in fact moves
back and forth between the two”
Mark Weiser and John S. Brown
By placing things in the periphery we are able to
attune many more things than we could if
everything had to be at the center
By re-centering something formerly in the
periphery we take control of it.
7. Context Awareness
The Context is any information that can be used to
characterize the situation of an entity. An entity is a
person, place, or object that is considered relevant to
the interaction between a user and an application,
including users and applications themselves.
A system is context-aware if it uses the context to
provide relevant information and/or services to the
user, where relevancy depends on the user's task
Understanding and using context , A. Dey, 2001
8. Context awareness feature space
User Information
Human Factors
Social Environment
User Task
Physical conditions
Physical Environment
Infrastructure
Light
Pressure
Acceleration
Audio
Temperature
Level
Flikering
WaveLenght
Location
There is more context than location, Albrecht Schmidt et al., 1999
9. Development of a set of applications in a
distributed environment
Do not have a fixed architecture
Deployed in heterogeneous platforms
Connectivity affects how the information is
transported
Multiple devices should exchange information
to carry out system tasks
Society of entities (collaboration)
Location of the entity
Knowledge about which task is being performed
by entities to assist them
10.
The capability to define metamodels to
match specific characteristics of the system,
no matter the level of abstraction it
addresses.
Tools for merging and transforming models
to reuse information from one layer of
abstraction to the next.
Tools to turn these models into source code
for different platforms
11.
A Meta Object Facility (MOF) Metamodel for the Development of Context-Aware
Mobile Applications
Model-driven Composition of Context-aware Web Services Using ContextUML and
Aspects
Entity vision vs. service vision
Low semantic meaning (services)
Context-aware model-driven development by parameterized transformation
Handles business logic and context-dependent service behavior as two separate concerns
Focused in Web applications only (SOA) and services
Towards Context Independence in Distributed Context-aware Applications by the
Model-driven Approach
Provides contextual model independent of the application domain
Manages low level concepts only (event and service) does not support task or role concepts.
Does not take into account deployment issues, it is based on SOA
Different layers of PIMs by parameterized transformations (includes additional information)
Context is not characterized, very high level of abstraction that does not provide enough information
about context
Towards a Model-Driven Approach for Ontology-Based CAA Development: A Case
Study
Step based development
Embraces concepts such as Device, Event, Communication, Channel and Activity
Does not take into account Roles , Location, etc.
Steps are not part of a development process
12.
Model-Driven Development of Context-Aware Services
Managing an Integrated Ubicomp Environment Using Ontologies and Reasoning
Good description of the systems
Enterprise applications only (client-server)
Lack of insulation between context and domain logic, social environment, etc.
An Ontology for Context-Aware Pervasive Computing Environments
Development process (preparation and service creation phases)
Modelling process (PI Service design, PS service design)
Low level concepts (events, queries and actions)
Lack of task, space, location and role concepts
Space composition
Location modelling is not technology independent
Notion of agent (entity)
No role based functionality
Task is taken into account
No history is supported at any level
Aspect-Oriented Model-Driven Development for Mobile Context-Aware
Computing
Combination of AOP and MDD
Attached to AspectJ
Low level concepts, instead of tasks, roles, spaces, entities and so on
13. Introduction
CAUCE MDD
CAUCE CASE
Conclusions
Main goal
Proposal
The analysis layer
The information layer
Analysis to information layer M2M
transformation
Mapping model
Information to source code M2T transformation
14.
The main goal of this work is:
“The definition of a semi-formal methodology
to tackle the development of Context-aware
Applications for Ubiquitous Computing
Environments”.
15. 1.
Perform a review of the main characteristics of CAAs for UCEs.
2.
Perform a review of the most relevant design processes to
develop CAAs for UCEs.
3.
Define a methodology together with modeling languages to
specify the design of CAAs for UCEs based on the characteristics
presented in 1.
4.
Implement a CASE tool to support the defined methodology
allowing the developer to create and edit models conforming
metamodels as defined in 3.
5.
Define and implement a set of transformations to generate the
basic structure of the system source code.
6.
Apply the process to a set of scenarios that embraces most CAS
features for UCEs to prove the validity of the proposal.
16. PIM
Information Layer
Software - Characteristics
Social model
Social Metamodel
Entity Context model
EC Metamodel
Referential Space model
RS Metamodel
M2T Transformation
Space model
Space Metamodel
Information Flow model
IF Metamodel
M2M Transformation
Task model
Task Metamodel
Platform Characteristics
Mapping
model
Mapping
Metamodel
Source Code
Analysis Layer
CAS - Characteristics
PSM
18.
The goal of this layer is the provision of
modeling tools to represent the high-level
features of CAAs for UCEs defined in (Schmidt,
1999)
Entity Factors
Social
Entity Task
Environment
Social model
Social Metamodel
Entity
Information
Time
Context-aware application feature model
Task model
Task Metamodel
Physical Environment
Physical
Infrastructure Location
Conditions
Space model
Space Metamodel
19. Introduction
Analysis layer
CAUCE MDD
CAUCE CASE
Information layer
Conclusions
Transformation
The TaMM provides a modeling tool to
represent the relationship between tasks and
entities that are immersed into CAS for UCEs.
Based on:
Petri Nets (Workflows) – To relate tasks and entities
Regular Expressions – To express conditions that relate the TaMM models to
SoMM and SpMM models
20. Workflow Concept *
TaMM Concept
Task
Task
Condition
Condition
Sequential Routing
Task dependency
Selective Routing
Task dependency
Iteration Routing
Task dependency
Parallel Routing
Task synchronization/Communication
Process
Work session
Token
Entity session
* According to the Workflow Management Coalition.
24. Introduction
Analysis layer
CAUCE MDD
CAUCE CASE
Information layer
Conclusions
Transformation
The SoMM provides the specification of the
relationships among individuals and group of
individuals that are part of a CAS.
Based on
Subset of Penichet’s Organization Structure Diagram (OSD)
25. Elements
▪ Individual: represents particular entity instances (a
token in the workflow during a work session)
▪ Role: represents the characteristics of a group of entities
Relationships
▪ Initialization: represents the “plays” relationship
▪ Specialization: represents inheritance
32. Introduction
CAUCE MDD
Analysis layer
CAUCE CASE
Information layer
Conclusions
Transformation
The main goal of SpMM is the expression of
location aware characteristics of CAS for UCEs
Basic concepts:
Positioning reference (space)
Space granularity (composition / grouping)
Space characteristics (generalization)
Time (regular expressions)
36. Expresses task execution restrictions according entity location history
Space model
Task model
X
37.
Syntax sugar (abbreviations)
How to represent concepts
Initialization
Pre-conditions
Post-conditions
Roles vs. Instances
Expression calculus
Empty expression interpretations
Extensions (to represent CTT constructors)
Comparison to related work
Based on Schmidt characteristics we expose the advantages of
this approach compared to related work
39.
The goal of this layer is the provision of modeling
tools for designers to represent the context of an
entity from the software perspective.
communication Information Flow
features
Metamodel
referential
features
Space Reference
Metamodel
Entity Context contextual
Metamodel
features
Entity Core
Metamodel
Software perspective of a CAS
essential
features
Intra-entity view
Inter-entity view
Two views of the system
40. Introduction
CAUCE MDD
Analysis layer
CAUCE CASE
Information layer
(Inter-entity view)
Conclusions
Transformation
The goal of the IFMM is the description of the
information flows among entities of a CASs for
UCEs
Basic concepts
Entities involved in the system
The Information flow data exchange through information flows among
entities
The Information flow data definition
How Information is delivered
44. Introduction
CAUCE MDD
Analysis layer
CAUCE CASE
Information layer
(Inter-entity view)
Conclusions
Transformation
The goal of the RSMM is the definition of the
runtime environment of the entity contexts in
CASs for UCEs
Basic concepts
Context –aware entity (Context-aware entity reference)
Runtime Environment (Referential Space)
Bounding Relationship (Dependence relationship)
Cardinality
45. Cardinality (a Shopping cart is associated to a single
user interface)
Cardinality (the Virtual shopping is composed by
many user interfaces)
An entity reference can be defined by the Send button
A referential space can be defined by the Login interface
Dependency relationships
48. Introduction
CAUCE MDD
Analysis layer
CAUCE CASE
Information layer
(Intra-entity view)
Conclusions
Transformation
The goal of the ECMM is the description of the
context that an entity is able to perceive from
the environment
Basic concepts:
Entity context
Context situation
Context Condition
Data Definition
55.
The underlying infrastructure
Detailed description of semantics
Services provided to support these models (such as, time service)
Communication infrastructure
How changes are propagated and assimilated by contexts
Memory behavior description
Memory synchronization
How situations are executed
More patterns
Comparison to related work
56. Introduction
Analysis layer
CAUCE MDD
CAUCE CASE
Information layer
Conclusions
Transformation
The analysis to information layer
transformation
The information layer to source code
transformation + The mapping model
57.
Main goal:
Social model
(SoMM)
Task model
(TaMM)
Space model
(SpMM)
Multi-model Transformation (ATL)
Entity Context model
(ECMM)
Information Flow model
(IFMM)
Referential Space model
(RSMM)
58.
The transformation is composed by:
5 modules to process:
▪ regular expressions
▪ the Social model
▪ the Task model
▪ the Space model
▪ a common interface to access these modules
Containing rules and helper functions
59.
Main goal:
Entity Context model
(ECMM)
Information Flow model
(IFMM)
Model to Text Transformation (MOFScript)
Source Code
Referential Space model
(RSMM)
Mapping model
(Mapping MM)
60. Introduction
CAUCE MDD
Analysis layer
CAUCE CASE
Information layer
Conclusions
Transformation
The goal of this model is the specification of the
mapping between information layer models and the
source code to be generated
Basic concepts:
•Mapping elements
•Devices
•Connections
•Definition elements
•Protocols
•Mediums
•Operating systems
•Programming languages
65.
The CAUCE CASE tool supports the CAUCE model-driven
development
Developed using the Eclipse platform (EMF, GMF, etc)
Editors:
The Social model editor
The Space model editor
The Task model editor
The Information Flow model editor
The Entity Context model editor
The Referential Space model editor
The Mapping model editor
Transformations
ATL Model to Model transformation
MOFScript Model to Text transformation
Abstract Framework structure
66.
For validation purposes we have defined three
scenarios that cover Schmidt CAS characteristics
Scenarios
Feature Light
Controller
Healthy
Screen
Shared
Blackboard
Entity Factors
Information on Entities
X
Social environment
X
Tasks
X
Physical Environment
Physical conditions
X
Infrastructure
X
Location
X
68.
The context awareness concept
The ubiquitous computing concepts
UML, MDA, EMOF, OCL, ATL, MOFScript
Formal Methods:
Petri Nets
Workflows
Regular Expressions
Related work on
Model-driven development of CAS using MOF
Model-driven development of CAS using UML profiles
Ontology driven development of CAS
Implementation
Eclipse platform (EMF, GMF, etc.)
Java Technology
69.
The analysis layer to define the characteristics of CAS to be developed,
composed by
The Task metamodel
The Social metamodel
The Space metamodel
The information layer to define the software characteristics of the CAS to be
developed, composed by:
The Information Flow metamodel
The Referential Space metamodel
The Entity Context metamodel
An analysis to information layer M2M transformation to turn CAS characteristics
into software artefacts
An information layer to source code M2T transformation to turn CAS software
characteristics into source code
The Mapping metamodel to specify the PSM of the system
The underlying infrastructure to describe model behaviour
A conceptual architecture to support the proposed models
An abstract framework to decouple generated code from implementation
70.
To develop CAS for UCE we have implemented the CAUCE CASE Tool:
The Space model editor
The Task model editor
The Social model editor
The Information Flow model editor
The Entity Context editor
The Referential Space editor
ATL M2M transformation between analysis and information layer models
MOFScript M2M transformation from information layer models to source
code
Abstract Conceptual Framework
We have also generated the source code structure for three study cases
covering all CAS for UCE characteristics exposed by Schmidt.
The light controller
The healthy screen
The shared blackboard
71.
MDA
Ubiquitous Computing
Description of interaction elements in terms of regular expressions providing a precise syntax
to describe events
Groupware
The use of semi-formal methods to model high level characteristics (Petri Nets, Workflows
and Regular Expressions)
HCI
3 metamodels and DSLs to describe CAS for UCE characteristics.
3 metamodels and DSLs to describe software characteristics of CAS for UCE
Verification and formal methods
Implementation of the CAUCE CASE tool
Some of the methods used to describe CAS for UCE may be used to describe Groupware
systems
AI and Agents
The ECMM provides designers to model entity contexts in terms of Horn clauses.
72.
About 20 publications
More than 25% of them were published in journals
that belong to Q1 and Q2 (JCR 2008).
More that 50 % of them where published in
International congresses
A patent “Interaction device to explore georeferenced documents” (Spain)
73.
Intra-layer inter-model consistency verification
Adaptation to commercial APIs and programming
interfaces
Automatic generation of code for system testing
Verification of Petri Nets properties liveness, bounderness,
etc (export to Petri Nets files)
Simulators for the task and flow models.
Metamodel extension to provide the proposed operators
in the analysis layer
Implementation of the proposed syntax sugar in the
analysis layer