150 likes | 293 Views
Validation of Context-Dependent Aspect-Oriented Adaptations to Components. Illinois Institute of Technology USA. June 2004. Thomas Cottenier Tzilla Elrad. Validation of Context-Dependent Aspect-Oriented Adaptations to Components Outline. Motivation
E N D
Validation of Context-Dependent Aspect-Oriented Adaptations to Components Illinois Institute of Technology USA June 2004 Thomas Cottenier Tzilla Elrad
Validation of Context-Dependent Aspect-Oriented Adaptations to ComponentsOutline • Motivation • Challenges to the integration of AOSD into CBE • Aspect-Sensitive Components • Composition of Aspect-Sensitive Components with Non-Functional Aspects • Aspect-Sensitive Component Profile • Summary
Validation of Context-Dependent Aspect-Oriented Adaptations to Components1. Motivation • Component non-functional propertiesQuality attributes, Security, Session, Transaction, … • Component Context-dependent properties AOP for non-invasive component adaptation at load-time, compose-time and runtime
Framework Validation of Context-Dependent Aspect-Oriented Adaptations to Components1. Motivation Connector Component Framework • Inter-Component Crosscutting • Intra-Component Crosscutting
Framework Validation of Context-Dependent Aspect-Oriented Adaptations to Components1. Motivation
Validation of Context-Dependent Aspect-Oriented Adaptations to Components2. Challenges to the integration of AOSD into CBE Aspects • Operate at the code level • Destroy the locality of runtime control flow • Break object/component encapsulation Challenges • Component Encapsulation • Composition Predictability • Component Certification
Validation of Context-Dependent Aspect-Oriented Adaptations to Components2. Challenges to the integration of AOSD into CBE • Aspects Break Component Encapsulation AOSD Evolution Paradox! Crosscut languages are too low level
Validation of Context-Dependent Aspect-Oriented Adaptations to Components2. Challenges to the integration of AOSD into CBE Predictability and Certification Weaving compositional reasoning is hard! ? System Spec Aspect Spec C1 Spec C2 Spec
Validation of Context-Dependent Aspect-Oriented Adaptations to Components3. Aspect-Sensitive Components AspectJ JasCo Compost ASC Compromise encapsulation Compromise expressiveness Compromise expressiveness/ obliviousness Compromise Obliviousness at higher level
Validation of Context-Dependent Aspect-Oriented Adaptations to Components4. Composition of Aspect-Sensitive Components with Non-Functional Aspects • At deployment time Session, transaction, persistence… Resource management aspects • At composition time Adapter aspects • At runtime Dynamic adaptation aspects
Validation of Context-Dependent Aspect-Oriented Adaptations to Components5. Aspect-Sensitive Component Profile = * =
Validation of Context-Dependent Aspect-Oriented Adaptations to Components5. Aspect-Sensitive Component Profile * = • Semantic contracts • Temporal properties • Quality attributes • Access control contracts
Validation of Context-Dependent Aspect-Oriented Adaptations to Components5. Aspect-Sensitive Component Profile Model Transformation Constraints PIM/PSM Model Weaving Transformation (Horizontal) JPDD Aspect Models Core Models OCL OCL Result Model Mapping Mapping OCL joinpoints Aspect Implem. Core Code Result Code Aspect Weaving Code
Validation of Context-Dependent Aspect-Oriented Adaptations to Components6. Summary • Adapt Components to their deployment, composition and runtime context with Aspects • Need to control the expressive power of AOP • Compromise component obliviousness by explicitly stating the desired component properties • Composition of Component/Aspect profiles
Validation of Context-Dependent Aspect-Oriented Adaptations to ComponentsThank You Any Questions?