Download presentation
Presentation is loading. Please wait.
Published byAnn Lynch Modified over 9 years ago
1
MDD approach for the Design of Context-Aware Applications
2
Outline Problem Objectives MDD approach: overview MDD approach phases / UML profile for context-aware applications Conclusion, Future Work
3
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.
4
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.
5
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
6
Outline Problem Objectives MDD approach: overview MDD approach phases / UML profile for context-aware applications Conclusion, Future Work
7
MDD Approach: Overview 1- Identification of the required context information Platform independent model of the context collection Platform independent model of the application adaptation Abstract model of the context platform Abstract model of the adaptation platform Platform specific models of the context collection, application adaptation, and non-functional services variability 5- Definition of the target platform and model to model transformations 6- Code generation Output/Input Feedback 3- Identification of the context collection mechanisms 4- Identification of the adaptation mechanisms 2- Definition of application variability
8
Phase1: Context Requirements Context types Collection requirements Context quality: precision, correctness, levelOfTrust, etc. Identification of the relevant context states
9
UML Extensions for Context Modeling
10
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.
11
Architectural Adaptation
12
Structural Adaptation
13
Behavioral Adaptation
14
Profile Structure > Optional > VariableStructure > Variation contextStateIds: Set > Class StaticAdaptationAspect > Context-Aware Profile > VariableSequence > OptionalLine > SequenceVariant contextStateIds: Set > Lifeline DynamicAdaptationAspect > Interaction contextStateIds: Set
15
Phase3: Context Collection Mechanisms o Approach the platform that will be used to collect context o Define an abstract model of the platform o Types of sensors: physical sensors, logical sensors, virtual sensor o Preprocessing : Aggregation/composition Reasoning
16
UML Extensions for Context Collection Mechanisms Modeling > PhysicalSensor technology: String > Sensor properties: Set parameters: Set > LogicalSensor softwareEntity: String > Class > Association > collect StaticContextMechanisms > Context-Aware Profile > aggregate > VirtualSensor softwareEntity: String
17
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
18
UML Extensions for Adaptation Mechanisms Modeling > StaticAdaptationMechanism conditions: Set > Class > Association > RequiredMechanism StaticAdaptationMechanisms > Context-Aware Profile > DynamicAdaptationMechanism conditions: Set > Interaction DynamicAdaptationMechanisms
19
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
20
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
21
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'), --…
22
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
23
Technical transformations Generation for several platforms PIM to PSMs
24
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
25
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.
26
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.
27
Future Work Methods to check the consistency of the adaptation rules during the design of applications.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.