Presentation is loading. Please wait.

Presentation is loading. Please wait.

MDD approach for the Design of Context-Aware Applications.

Similar presentations


Presentation on theme: "MDD approach for the Design of Context-Aware Applications."— Presentation transcript:

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.


Download ppt "MDD approach for the Design of Context-Aware Applications."

Similar presentations


Ads by Google