mdd approach for the design of context aware applications
Download
Skip this Video
Download Presentation
MDD approach for the Design of Context-Aware Applications

Loading in 2 Seconds...

play fullscreen
1 / 27

MDD approach for the Design of Context-Aware Applications - PowerPoint PPT Presentation


  • 116 Views
  • Uploaded on

MDD approach for the Design of Context-Aware Applications. Outline. Problem Objectives MDD approach: overview MDD approach phases / UML profile for context-aware applications Conclusion, Future Work. Problem (1). Design and development of context-aware applications is complex. Context:

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' MDD approach for the Design of Context-Aware Applications' - ratana


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
outline
Outline
  • Problem
  • Objectives
  • MDD approach: overview
  • MDD approach phases / UML profile for context-aware applications
  • Conclusion, Future Work
problem 1
Problem (1)
  • Design and development of context-aware applications is complex.
  • Context:
    • Acquired from heterogeneous and distributed sources (sensors, files, applications)
    • Dynamic, require an additional interpretation
  • Adaptation process:
    • Can be based on different types of mechanisms
    • Can be related to the semantics of the application.
  • Context-aware applications need specific development mechanisms.
problem 2
Problem (2)
  • Several middleware products have been defined to ease the development of context-aware applications
  • Applications developed with the existing middleware:
    • not portable
    • Include technical details that are specific to a given technology
    • their reuse on a different technology require their redevelopment.
objective
Objective
  • Concentrate efforts on application design
  • Modeling the application independently from the platform
  • Generate automatically the code for several platforms.
  • Need of specific design concepts and modeling tools for context-aware applications
outline1
Outline
  • Problem
  • Objectives
  • MDD approach: overview
  • MDD approach phases / UML profile for context-aware applications
  • Conclusion, Future Work
mdd approach overview
MDD Approach: Overview

1- Identification of the required context information

2- Definition of application variability

Platform independent model of the application adaptation

Platform independent model of the context collection

3- Identification of the context collection mechanisms

4- Identification of the adaptation mechanisms

Abstract model of the context platform

Abstract model of the adaptation platform

5- Definition of the target platform and model to model transformations

Platform specific models of the context collection, application adaptation, and non-functional services variability

Output/Input

Feedback

6- Code generation

phase1 context requirements
Phase1: Context Requirements
  • Context types
  • Collection requirements
  • Context quality: precision, correctness, levelOfTrust, etc.
  • Identification of the relevant context states
phase2 application variability
Phase2: Application Variability
  • Specification: how the application reacts to the context
  • Types of adaptation:
    • Architectural adaptation: consists in adding and deleting objects to an application
    • Structural adaptation: modifies the objects’ structure by for example adding or deleting methods or attributes to the objects.
    • Behavioral adaptation: adapts the behavior of the applications’ objects.
profile structure
Profile Structure

<<profile>> Context-Aware Profile

StaticAdaptationAspect

DynamicAdaptationAspect

<<metaclass>>

Class

<<metaclass>>

Interaction

<<metaclass>>

Lifeline

<<stereotype>>

Optional

<<stereotype>>

VariableStructure

<<stereotype>>

VariableSequence

<<stereotype>>

OptionalLine

contextStateIds: Set

<<stereotype>>

Variation

<<stereotype>>

SequenceVariant

contextStateIds: Set

contextStateIds: Set

phase3 context collection mechanisms
Phase3: Context Collection Mechanisms
  • Approach the platform that will be used to collect context
  • Define an abstract model of the platform
  • Types of sensors: physical sensors, logical sensors, virtual sensor
  • Preprocessing :
      • Aggregation/composition
      • Reasoning
uml extensions for context collection mechanisms modeling
UML Extensions for Context Collection Mechanisms Modeling

<<profile>> Context-Aware Profile

StaticContextMechanisms

<<metaclass>>

Class

<<metaclass>>

Association

<<stereotype>>

Sensor

<<stereotype>>

collect

<<stereotype>>

aggregate

properties: Set

parameters: Set

<<stereotype>>

PhysicalSensor

<<stereotype>>

VirtualSensor

<<stereotype>>

LogicalSensor

technology: String

softwareEntity: String

softwareEntity: String

phase 4 adaptation mechanisms
Phase 4: Adaptation Mechanisms
  • Approach the platform that will be used to perform adaptations
  • Define an abstract model of this platform.
  • Identify the mechanisms that are required to adapt the application:
    • Reflection
    • Contracts
    • AOP
    • Component-based paradigm
uml extensions for adaptation mechanisms modeling
UML Extensions for Adaptation Mechanisms Modeling

<<profile>> Context-Aware Profile

StaticAdaptationMechanisms

DynamicAdaptationMechanisms

<<metaclass>>

Class

<<metaclass>>

Interaction

<<metaclass>>

Association

<<stereotype>>

StaticAdaptationMechanism

<<stereotype>>

DynamicAdaptationMechanism

<<stereotype>>

RequiredMechanism

conditions: Set

conditions: Set

step 5 target platform and model to model transformations
Step 5: Target Platform and Model to Model Transformations
  • Define abstract transformations that transform models without introducing technical details
  • Define concrete transformations to generate platform-specific models
  • Three steps:
    • Definition of non-functional transformations
    • Definition of the Target Platform
    • Definition of technical Transformations
non functional transformations
Non-functional Transformations
  • Identify the non-functional services required by the application: distribution, security, deployment, etc.
  • Non-functional services are required to be adaptive.
  • Goal: automatically generate the variability models of non-functional services
  • Transformations of the application variability
  • Generate variability models of non-functional services
non functional transformations1
Non-functional transformations

rule optional {

from class : UML!Class (class.hasStereotypeApplied(\'Optional\'))

to optionalInteraction : UML!Interaction mapsTo class (

name <- \'deploy()\', message <- deployMessage, message <- instantiateMessage, message <- deleteMessage, fragment <- combinedFragment),

variableSequenceStereotype : UML!Stereotype mapsTo class (

name <- \'VariableSequence\'),

--…

definition of the target platform
Definition of the Target Platform
  • Study the existing context and adaptation platforms
  • Choose the one that best satisfies the required context and adaptation mechanisms
  • Extend the platforms according to the requirements
technical transformations
Technical transformations
  • Generation for several platforms
  • PIM to PSMs
implementation
Implementation
  • Context-Aware Profile : MagicDraw UML 12.0
  • Context target platform: Context Toolkit
  • Adaptation target platform: CARISMA
  • Model to model transformations are implemented in ATL
  • UML to XML transformations in XSLT
conclusion 1
Conclusion(1)
  • Design and development of context-aware applications is complex.
    • Require the identification of the context information that has an impact on the application
    • The specification of the various behaviors of the application according to this context information.
  • Apply an MDD approach in the design and development of context-aware applications:
    • Concentration of efforts on applications design.
    • Facilitates the verification of the applications before their integration.
    • Reduces the risk of error and the complexity of context-aware applications.
conclusion 2
Conclusion(2)
  • Phases cover preparation activities, structure and plan the work
  • Step by step approach provides extensibility and reusability
  • Transformations: more general sense of separation of concerns than just pure technical concerns
  • A context-aware UML profile to model context-aware applications independently from the platform.
future work
Future Work
  • Methods to check the consistency of the adaptation rules during the design of applications.
ad