MDD approach for the Design of Context-Aware Applications.

Slides:



Advertisements
Similar presentations
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Advertisements

Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
TU e technische universiteit eindhoven / department of mathematics and computer science Modeling User Input and Hypermedia Dynamics in Hera Databases and.
Model Driven Generative Programming Reza Azimi February 6, 2003 ECE1770: Trends in Middleware Systems.
From Model-based to Model-driven Design of User Interfaces.
Specification, Partitioning, and Composition Techniques for Web Applications in the Context of Event-B Abdolbaghi Rezazadeh Michael Butler University of.
An Aspect-Oriented Approach For Web Application Access Control Presented by: Mohamed Hassan Carleton University Carleton University
Software Reuse SEII-Lecture 28
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
R R R CSE870: Advanced Software Engineering: Extending and Using UML (Cheng) Supplementary: Using and Extending UML.
14/06/ A Data-Model for Context-Aware Deployment of Component-based Applications onto Distributed Systems Dhouha Ayed, Chantal Taconet, and Guy Bernard.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
OMG Meeting, Helsinki Model Driven Architecture An Alternative Implementation Approach Werner Froidevaux
Software Product Line Architectures (SPLA) Nipun Shah
10th TTCN-3 User Conference, 7-9 June 2011, Bled, Slovenia AUTOSAR Conformance Tests - Feedback on their development and utilization Alain Feudjio-Vouffo,
Model-based UI Meeting November 2010, Lyon Fabio Paternò CNR-ISTI, HIIS Laboratory Pisa, Italy
Methodology and Tools for End-to-End SOA Configurations By: Fumiko satoh, Yuichi nakamura, Nirmal K. Mukhi, Michiaki Tatsubori, Kouichi ono.
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
UML based dependability modeling, analysis and synthesis Proposers: TU Budapest: A. Pataricza, Gy. Csertán, I. Majzik, D. Varró PDCC Pisa: L. Simoncini,
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
Integrating Security Design Into The Software Development Process For E-Commerce Systems By: M.T. Chan, L.F. Kwok (City University of Hong Kong)
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
Introduction to MDA (Model Driven Architecture) CYT.
Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP CoopIS 2001 September 5-7, Trento, Italy M. Pinto, M. Amor, L. Fuentes,
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Model based development for the RUNES component middleware platform Gabor Batori
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
On the Role of Abstract Platform in Model Driven Development* Marten van Sinderen Centre for Telematics and Information Technology, University of Twente,
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
MDA – Model Driven Architecture Olivier Riboux. Overview What is MDA? The Challenges MDA addresses Developing in the MDA Benefits / Conclusion Case Study:
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Dynamic and Selective Combination of Extension in Component-based Applications Eddy Truyen, Bart Vanhaute, Wouter Joosen, Pierre Verbaeten, Bo N. Jørgensen.
An Architecture to Support Context-Aware Applications
Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer.
Application Ontology Manager for Hydra IST Ján Hreňo Martin Sarnovský Peter Kostelník TU Košice.
A Model-Based Approach for AMF Configuration Generation Pejman Salehi, Pietro Colombo Abdelwahab Hamou-Lhadj, Ferhat Khendek Concordia University Department.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
CSCE 240 – Intro to Software Engineering Lecture 2.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Lyon Research Center for Images and Intelligent Information Systems IEEE International Conference on Pervasive Services 2006 FRE 2672 INSA Lyon ICPS, 27.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Performance Analysis University College London James Skene –
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
Context-Aware Middleware for Resource Management in the Wireless Internet US Lab 신현정.
The Development Process of Web Applications
Designing Software for Ease of Extension and Contraction
Object-Oriented Design
Evaluating Compuware OptimalJ as an MDA tool
Software Analysis.
Presentation transcript:

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: 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)  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  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

Outline  Problem  Objectives  MDD approach: overview  MDD approach phases / UML profile for context-aware applications  Conclusion, Future Work

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

Phase1: Context Requirements  Context types  Collection requirements  Context quality: precision, correctness, levelOfTrust, etc.  Identification of the relevant context states

UML Extensions for Context Modeling

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.

Architectural Adaptation

Structural Adaptation

Behavioral Adaptation

Profile Structure > Optional > VariableStructure > Variation contextStateIds: Set > Class StaticAdaptationAspect > Context-Aware Profile > VariableSequence > OptionalLine > SequenceVariant contextStateIds: Set > Lifeline DynamicAdaptationAspect > Interaction contextStateIds: Set

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

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

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 > StaticAdaptationMechanism conditions: Set > Class > Association > RequiredMechanism StaticAdaptationMechanisms > Context-Aware Profile > DynamicAdaptationMechanism conditions: Set > Interaction DynamicAdaptationMechanisms

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  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 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  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  Generation for several platforms  PIM to PSMs

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)  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)  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  Methods to check the consistency of the adaptation rules during the design of applications.