PhD. Dissertation
Candidate:
Ricardo Tesoriero
Supervisors:
PhD. José Antonio Gallud Lázaro
PhD. María Dolores Lozano Pére...
Introduction
CAUCE Model-driven Development
CAUCE CASE tool
Conclusions and Future Work
Introduction

CAUCE MDD

CAUCE CASE

Inspiration
Major trends in computing
Calm Technology
Context awareness
Related Work
...
“The world is not a desktop”
“A good tool is an invisible tool. By invisible,
we mean that the tool does not intrude on
yo...
The major trends in computing



Mainframe computing (N users 1 computer)
Personal computing (1 user 1 computer)
▪



I...


“Calm technology engages both the center and
the periphery of our attention, and in fact moves
back and forth between t...
Context Awareness


The Context is any information that can be used to
characterize the situation of an entity. An entity...
Context awareness feature space
User Information
Human Factors

Social Environment
User Task
Physical conditions

Physical...
Development of a set of applications in a
distributed environment
 Do not have a fixed architecture
 Deployed in heterog...






The capability to define metamodels to
match specific characteristics of the system,
no matter the level of abstr...


A Meta Object Facility (MOF) Metamodel for the Development of Context-Aware
Mobile Applications






Model-driven ...


Model-Driven Development of Context-Aware Services







Managing an Integrated Ubicomp Environment Using Ontolog...
Introduction

CAUCE MDD

CAUCE CASE

Conclusions

Main goal
Proposal
The analysis layer
The information layer
Analysis to ...


The main goal of this work is:
“The definition of a semi-formal methodology
to tackle the development of Context-aware
...
1.

Perform a review of the main characteristics of CAAs for UCEs.

2.

Perform a review of the most relevant design proce...
PIM
Information Layer
Software - Characteristics

Social model
Social Metamodel

Entity Context model
EC Metamodel

Refere...
Introduction

CAUCE MDD

Analysis layer

Task model
Social Model
Space model

CAUCE CASE

Information layer

Conclusions
T...


The goal of this layer is the provision of
modeling tools to represent the high-level
features of CAAs for UCEs defined...
Introduction
Analysis layer

CAUCE MDD

CAUCE CASE

Information layer

Conclusions
Transformation

The TaMM provides a mod...
Workflow Concept *

TaMM Concept

Task

Task

Condition

Condition

Sequential Routing

Task dependency

Selective Routing...
-outputCondition

-routeTask

TaskOutputCondition

Join
Condition

1

*

-outputConditions

-routeTask
1

-id : int
-socia...


System Tasks



Route Tasks
Prefix

Condition
Attribute

Metaclass

Regular
Expression

Template

[So:]

socialExpression

SocialInstance
SocialSynchr...
Introduction
Analysis layer

CAUCE MDD

CAUCE CASE

Information layer

Conclusions
Transformation

The SoMM provides the s...
 Elements
▪ Individual: represents particular entity instances (a
token in the workflow during a work session)
▪ Role: re...
-realizes

-source

Realization
0..*
1

-id : int
-name : string

1

-realizations
-isRealizedByIndividual

0..*

SocialIn...
Social model
Task model

Task model

X

Social model
Expresses task alternatives according to entity roles

Social model
Task model

X
Expresses tasks performed by actors belonging to different roles

Social model
Task model

any time

any time
Expresses task concurrency or parallelism between two or more entities

Social model
Task model
same time
same time
Expresses a synchronization points among entities

Social model
Task model

same time

same time
Introduction

CAUCE MDD

Analysis layer

CAUCE CASE

Information layer

Conclusions
Transformation

The main goal of SpMM ...
1

-universe
Universe

-universe

-id : int
-name : string

LocartionUnit

-universe
1
-child
Space

1
1

1

-universe
1
-...
Expresses task execution restrictions according to entity location

Space model
Task model

X
Expresses task execution restrictions according entity location history

Space model
Task model

X


Syntax sugar (abbreviations)



How to represent concepts







Initialization
Pre-conditions
Post-conditions
R...
Introduction
Analysis layer

CAUCE MDD

CAUCE CASE

Information layer

Information Flow model
Entity Context model
Referen...


The goal of this layer is the provision of modeling
tools for designers to represent the context of an
entity from the ...
Introduction

CAUCE MDD

Analysis layer

CAUCE CASE

Information layer
(Inter-entity view)

Conclusions
Transformation

Th...
1
SystemInformationFlow
-id : int
-name : string

1
-system
*

-entities
-system
-target -incomingInformationFlows

Contex...
Point to Point information flow

Entity

Output data
Input data

Entity

Broadcast information flow
Entity

Entity
Output ...
Inf. Exchange
Actuator

Pooling

Event-driven
Introduction

CAUCE MDD

Analysis layer

CAUCE CASE

Information layer
(Inter-entity view)

Conclusions
Transformation

Th...
Cardinality (a Shopping cart is associated to a single
user interface)

Cardinality (the Virtual shopping is composed by
m...
Session modeling

Information Exchange
Information flow model

Referential space model
Introduction

CAUCE MDD

Analysis layer

CAUCE CASE

Information layer
(Intra-entity view)

Conclusions
Transformation

Th...
Information flow
Referential space model model
1

-variables

EntityCore

VaraibleDataDefinition
-entity

-core
1

-target1

-source

1

UnaryOperationDataDefinition

-n...
Context-aware sensing

Pooling

Explicit Initialization

Implicit Initialization


The underlying infrastructure
 Detailed description of semantics
 Services provided to support these models (such as,...
Introduction
Analysis layer

CAUCE MDD

CAUCE CASE

Information layer

Conclusions
Transformation

The analysis to informa...


Main goal:
Social model
(SoMM)

Task model
(TaMM)

Space model
(SpMM)

Multi-model Transformation (ATL)

Entity Context...


The transformation is composed by:
 5 modules to process:
▪ regular expressions
▪ the Social model
▪ the Task model
▪ ...


Main goal:

Entity Context model
(ECMM)

Information Flow model
(IFMM)

Model to Text Transformation (MOFScript)

Sourc...
Introduction

CAUCE MDD

Analysis layer

CAUCE CASE

Information layer

Conclusions
Transformation

The goal of this model...
-protocol

Protocol
-type : string
-technology : string
-version : string

The same PIM can be defined for several PSMs

1...
Underlying infrastructure
(Model semantics)
Modelled by

Conceptual Architecture
(Class level)

Implemented by
Compiles to...
Introduction

CAUCE MDD

CAUCE CASE Tool
Study cases

CAUCE CASE

Conclusions


The CAUCE CASE tool supports the CAUCE model-driven
development




Developed using the Eclipse platform (EMF, GMF, e...


For validation purposes we have defined three
scenarios that cover Schmidt CAS characteristics
Scenarios

Feature Light...
Introduction

CAUCE MDD

Revision
Proposal
Implementation
Contributions
Publications
Future Work

CAUCE CASE

Conclusions


The context awareness concept



The ubiquitous computing concepts



UML, MDA, EMOF, OCL, ATL, MOFScript



Formal ...


The analysis layer to define the characteristics of CAS to be developed,
composed by






The Task metamodel
The S...


To develop CAS for UCE we have implemented the CAUCE CASE Tool:









The Space model editor
The Task model ...


MDA




Ubiquitous Computing





Description of interaction elements in terms of regular expressions providing a ...


About 20 publications
 More than 25% of them were published in journals

that belong to Q1 and Q2 (JCR 2008).
 More t...


Intra-layer inter-model consistency verification



Adaptation to commercial APIs and programming
interfaces



Autom...
PhD. Dissertation
Candidate:
Ricardo Tesoriero
Supervisors:
PhD. José Antonio Gallud Lázaro
PhD. María Dolores Lozano Pére...
CAUCE - Model-driven development of ubiquitous computing environments
CAUCE - Model-driven development of ubiquitous computing environments
CAUCE - Model-driven development of ubiquitous computing environments
CAUCE - Model-driven development of ubiquitous computing environments
CAUCE - Model-driven development of ubiquitous computing environments
CAUCE - Model-driven development of ubiquitous computing environments
Upcoming SlideShare
Loading in...5
×

CAUCE - Model-driven development of ubiquitous computing environments

134

Published on

Ricardo Tesoriero PhD Tesis defended in 2009.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
134
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

CAUCE - Model-driven development of ubiquitous computing environments

  1. 1. PhD. Dissertation Candidate: Ricardo Tesoriero Supervisors: PhD. José Antonio Gallud Lázaro PhD. María Dolores Lozano Pérez
  2. 2. Introduction CAUCE Model-driven Development CAUCE CASE tool Conclusions and Future Work
  3. 3. Introduction CAUCE MDD CAUCE CASE Inspiration Major trends in computing Calm Technology Context awareness Related Work Conclusions
  4. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  17. 17. Introduction CAUCE MDD Analysis layer Task model Social Model Space model CAUCE CASE Information layer Conclusions Transformation
  18. 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. 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. 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.
  21. 21. -outputCondition -routeTask TaskOutputCondition Join Condition 1 * -outputConditions -routeTask 1 -id : int -socialExpression : SocialExpression -spaceExpression : SpaceExpression -taskExpression : TaskExpression -logicExpression : LogicExpression -dataExpression : DataExpression -condition 1 1 -inputConditions 1 1 1..* Task -id : int TaskInputCondition -inputCondition -inputCondition FinalCondition PreCondition InitialCondition 1 PostCondition 1 -routeTask -routeTask Split * 1 -precondition -initialConditions 1..* -postConditions -system_1 1 -postCondition_1 -systemTask_1 -systemTasks_1 1 1 * SystemTask * -system -finalConditions -preConditions 1..* 1 1-system -systemTask 1 1 1 ContextAwareSystem 1 -system -system -id : int -name : string 1 -system -routeTask RouteTask -routeTasks *
  22. 22.  System Tasks  Route Tasks
  23. 23. Prefix Condition Attribute Metaclass Regular Expression Template [So:] socialExpression SocialInstance SocialSynchronization SocialAlternative Word Concatenation Union socialInstance socialExpr , socialExpr socialExpr + socialExpr [Ta:] taskExpression TaskPerformance TaskDependence TaskAlternative TaskRepetition TaskAtLeastOnce Word Concatenation Union Kleene Clausure KleeneClausure + socialInstance(task) taskExpr , taskExpr taskExpr + taskExpr taskExpr* taskExpr! [Sp:] spaceExpression SpaceEvent SpacePath SpaceAlternative SpaceRepetition SpaceAtLeastOnce Word Concatenation Union Kleene Clausure KleeneClausure + socialInstance(event,space) spaceExpr , spaceExpr spaceExpr + spaceExpr spaceExpr* spaceExpr! [Lo:] logicExpression LogicExpression - (string) [Da:] dataExpression DataExpression - socialInst(data),...
  24. 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. 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
  26. 26. -realizes -source Realization 0..* 1 -id : int -name : string 1 -realizations -isRealizedByIndividual 0..* SocialInstance Instance -individuals 0..* -target Role 11 Society 1 -society -governedBy -children -source -parent 0..* 0..* -name : string -society Specialization 1 1 1 0..* -id : int -name : string -target -society 0..* -generalizations 1 -society
  27. 27. Social model Task model Task model X Social model
  28. 28. Expresses task alternatives according to entity roles Social model Task model X
  29. 29. Expresses tasks performed by actors belonging to different roles Social model Task model any time any time
  30. 30. Expresses task concurrency or parallelism between two or more entities Social model Task model same time same time
  31. 31. Expresses a synchronization points among entities Social model Task model same time same time
  32. 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)
  33. 33. 1 -universe Universe -universe -id : int -name : string LocartionUnit -universe 1 -child Space 1 1 1 -universe 1 -universe -groupedBy 0..* 0..* 1 -id : int -name : string -virtualSpaces -locationUnit -generalizes 0..* 1 -physicalSpaces 0..* Grouping VirtualSpace -groupRelationships PhysicalSpace 1 -parent -contains 0..* -parent 1 -parent 0..1 -inclusions Contention 0..* -container 0..* -innerSpaces 1 0..* -generalizations -generalizes 0..* 1 Generalization -child -generalizedBy 0..*
  34. 34. Expresses task execution restrictions according to entity location Space model Task model X
  35. 35. Expresses task execution restrictions according entity location history Space model Task model X
  36. 36.  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
  37. 37. Introduction Analysis layer CAUCE MDD CAUCE CASE Information layer Information Flow model Entity Context model Referential Space model Conclusions Transformation
  38. 38.  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
  39. 39. 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
  40. 40. 1 SystemInformationFlow -id : int -name : string 1 -system * -entities -system -target -incomingInformationFlows ContextAwareEntity InformationFlow -id : int -name : string +incomingFlow(entrada flow : InformationFlow) -source -ongoingInformationFlows 1 * 1 CollectionDataDefinition -name : string -id : int +flow() 1 * -system * VaraibleDataDefinition -name : string 1 -flow -pointToPointInformationFlows PointToPointInformationFlow * -broadcastInformaitonFlows BroadcastInformationFlow -data -data UnaryOperationDataDefinition OutputData Data * NotEmptyCollectionDataDefinition InputData 1 -param -param2 1 DataDefinition * TerminalDataDefinition -definition -name : string SequenceDataDefinition -param1 1 TypeDataDefinition BinaryOperationDataDefinition AlternativeDataDefinition ConstantDataDefinition 1
  41. 41. Point to Point information flow Entity Output data Input data Entity Broadcast information flow Entity Entity Output data
  42. 42. Inf. Exchange Actuator Pooling Event-driven
  43. 43. 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
  44. 44. 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
  45. 45. Session modeling Information Exchange Information flow model Referential space model
  46. 46. 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
  47. 47. Information flow Referential space model model
  48. 48. 1 -variables EntityCore VaraibleDataDefinition -entity -core 1 -target1 -source 1 UnaryOperationDataDefinition -name : string * 1 1 ContextAwareEntity 1 -id : int -name : string +incomingFlow(entrada flow : InformationFlow) +ongoingFlow(entrada flow : InformationFlow) EntityContext -entity * 1 -context +incoming(entrada flow : InformationFlow) +ongoing(entrada flow : InformationFlow) -situations -context 1 1 ContextSituation * -conditions -situation -parent -context LogicMemory -name : string +matches(entrada flow : InformationFlow) * ContextCondition DictionaryMemory 1 +satisfies(entrada flow : InformationFlow) : bool -situation -memory ContextMemory -name : string 1 SensingContextCondition -state +match(entrada expression : string) : bool +update(entrada expression : string) HolderMemory ContextMemoryCondition -expression 1 -actions ContextAction -memory 1 TimeMemory StackMemory -expression -informationFlow 1 * +execute() -ongoingInformationFlows 1 -param -data InformationFlow -incomingInformationFlows* -action PointToPointInformationFlow -name : string -id : int +flow() Data -definition DataDefinition * 1 * BroadcastInformationFlow 1 -flow OutputData 1 -data
  49. 49. Context-aware sensing Pooling Explicit Initialization Implicit Initialization
  50. 50.  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
  51. 51. 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
  52. 52.  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)
  53. 53.  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
  54. 54.  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)
  55. 55. 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
  56. 56. -protocol Protocol -type : string -technology : string -version : string The same PIM can be defined for several PSMs 1 1 ConnectionPlatform Medium * Connection -medium * 1 -protocols 1 1 -informations -name : string -edges Platform Entity * -name : string -os -entities 1 * DevicePlatform ProgrammingLanguage -name : string -version : string -revision : string -profile : string Edge -id : int -name : string * * -incoming Information -environment -environment -environment 1 1 1 1 -environment -environment OperatingSystem -os -name : string -version : string -revision : string * -programmingLanguages * * DevelopmentEnvironment 1 0..* -target * 1 * -name : string ConnectionToDeviceEdge -platforms -connections 1 -environment -environment -ongoing -name : string -connection -name : string -version : string -mediums -source -platforms -devices 1 Device 1 -language -target * 1 * -name : string -source -device 1 * -ongoing -incoming DeviceToConnectionEdge
  57. 57. Underlying infrastructure (Model semantics) Modelled by Conceptual Architecture (Class level) Implemented by Compiles to Abstract Framework (Source code) Generated Source code
  58. 58. Introduction CAUCE MDD CAUCE CASE Tool Study cases CAUCE CASE Conclusions
  59. 59.  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
  60. 60.  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
  61. 61. Introduction CAUCE MDD Revision Proposal Implementation Contributions Publications Future Work CAUCE CASE Conclusions
  62. 62.  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
  63. 63.  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
  64. 64.  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
  65. 65.  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.
  66. 66.  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)
  67. 67.  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
  68. 68. PhD. Dissertation Candidate: Ricardo Tesoriero Supervisors: PhD. José Antonio Gallud Lázaro PhD. María Dolores Lozano Pérez
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×