MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective.

Slides:



Advertisements
Similar presentations
Aspect Oriented Programming. AOP Contents 1 Overview 2 Terminology 3 The Problem 4 The Solution 4 Join point models 5 Implementation 6 Terminology Review.
Advertisements

An Aspect-Oriented Approach For Web Application Access Control Presented by: Mohamed Hassan Carleton University Carleton University
© 2007 ATLAS Nantes 1 Atlas Model Weaver Use Case: Aspect Oriented Modeling Marcos Didonet Del Fabro Atlas Group (INRIA & LINA), Université de Nantes,
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development.
Eunjee Song Computer Science Department Baylor University October 25, 2008 A Rigorous Approach to Incorporating Access Control Features into Applications.
Copyright © 2008 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Andrew Stone Common Security.
Aspect-Oriented Programming In Eclipse ® Aspect-Oriented Programming in Eclipse with AspectJ Dr Helen Hawkins and Sian January.
University of British Columbia Software Practices Lab Fluid AOP Join Point Models Terry Hon Gregor Kiczales.
ASPECT ORIENTED SOFTWARE DEVELOPMENT Prepared By: Ebru Doğan.
University of British Columbia Software Practices Lab CAS Seminar 06 Fluid AJ - A Simple Fluid AOP Tool Terry Hon Gregor Kiczales.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Rigorous Fault Tolerance Using Aspects and Formal Methods Shmuel Katz Computer Science Department The Technion Haifa, Israel
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development 2.
1 Model Interface Implementation for Two-Way Obliviousness in Aspect-Oriented Modeling Presented by Wuliang Sun Department of Computer Science Baylor University.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Outline Introduction Problem Statement Object-Oriented Design Aspect-Oriented Design Conclusion Demo.
Taming Obliviousness in Aspects with Data-flow Analysis and Design by Contract Tim Molderez and Dirk Janssens Ansymo Antwerp Systems and Software Modelling.
1 Thomas Cottenier 1,2, Aswin van den Berg 1, Tzilla Elrad 2 1 Software and System Engineering Research Lab, Motorola Labs 2 Concurrent Programming Research.
Towards Executable Aspect-Oriented UML Models 10th Int. Workshop on Aspect-Oriented Modeling (AOM), 6th Int. Conf. on Aspect-Oriented Software Development.
Secure Systems Research Group - FAU Aspects and mobile applications Sergio Soares Paulo Borba, “PaDA: A Pattern for Distribution Aspects” In Second Latin.
Introduction to Aspect Oriented Programming Presented By: Kotaiah Choudary. Ravipati M.Tech IInd Year. School of Info. Tech.
System and Software Engineering Research 1 Motorola Copyright 2001 A Perspective on Harmonisation: Benefits and Barriers Clive Jervis Rapporteur Q15 Motorola.
Sheet 1 / 21© in Bonn - 21 March 2006 Identification of Crosscutting in Software Design Klaas van den Berg – University.
Aspect Oriented Programming Razieh Asadi University of Science & Technology Mazandran Babol Aspect Component Based Software Engineering (ACBSE)
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.
What is “model transformation”? Distinction between source and target Source may be same as target May be multiple sources, or targets Reaching a fixed.
1 Metamodel Access Protocols for Extensible Aspect-Oriented Modeling Naoyasu Ubayashi(Kyushu Institute of Technology, Japan) Shinji Sano(Kyushu Institute.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development 1.
Modularizing Web Services Management with AOP María Agustina Cibrán, Bart Verheecke { Maria.Cibran, System and Software Engineering.
1 Model Compiler Construction Based on Aspect-oriented Mechanisms Naoyasu Ubayashi (Kyushu Institute of Technology) Tetsuo Tamai (University of Tokyo)
 FOAL 2010 Modeling Aspects by Category Theory Serge P. Kovalyov Novosibirsk, Russia.
Aspect Oriented Programming Sumathie Sundaresan CS590 :: Summer 2007 June 30, 2007.
Aspect-Oriented Refactoring of the Apache Cocoon Shared-Object Resource Allocation System Jeff Dalton February 28th, 2003 Advisor: David G. Hannay Client:
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
POSL (Principles of Software Languages) Gr. Kyushu Institute of Technology, Japan An Extensible Aspect-Oriented Modeling.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Aspect Oriented Programming Gülşah KARADUMAN.
VERIFICATION OF ASPECT-ORIENTED MODELS Review of Aspect-Oriented Definitions aspect – crosscutting concern that may involve multiple classes pointcut –
Joel Phinney March 31, ◦ Concerns  Separation of Concerns, Tangled and Scattered Concerns, Cross-Cutting Concerns, Aspects ◦ Aspect-Oriented Software.
Aspect-Oriented Modeling of Access Control in Web Applications Gefei Zhang Joint work with Hubert Baumeister, Nora Koch and Alexander Knapp UML-BASED WEB.
1 Model Evolution with Aspect-oriented Mechanisms Naoyasu Ubayashi (Kyushu Institute of Technology) Tetsuo Tamai (University of Tokyo) Shinji Sano, Yusaku.
Methodology: The AOP Refactoring Process Aspect-Oriented Refactoring of the Apache Cocoon Shared-Object Resource Allocation System Jeff Dalton Advisor:
AOP-1 Aspect Oriented Programming. AOP-2 Aspects of AOP and Related Tools Limitation of OO Separation of Concerns Aspect Oriented programming AspectJ.
© Siemens AG, CT SE 2, Iris Groher, Markus Voelter C O R P O R A T E T E C H N O L O G Y XWeave – Models and Aspects in Concert 1 XWeave Models.
CCC: An Aspect-Oriented Intermediate Language on.Net Platform Yingfei Xiong and Feng Wan University of Electronic Science and Technology of China, China.
Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to.
Aspect-Oriented Programming An Introductory Presentation Mike Landi MSCS Candidate Union University.
1 An Aspect-Oriented Implementation Method Sérgio Soares CIn – UFPE Orientador: Paulo Borba.
Demeter Aspects We study techniques for the emerging area of Aspect-Oriented Software Development and focus on the following areas:  Aspectual Collaborations.
Devon M. Simmonds SERP’08, July-14-17, Las Vegas 1 Aspect-oriented Approaches to Model Driven Engineering Devon M. Simmonds Computer Science Department.
Lab 5 CPIT 250 System Analysis and Design.
Alloy-based Lightweight Verification for Aspect-oriented Architecture Naoyasu Ubayashi(Kyushu Institute of Technology) Yuki Sato(Kyushu Institute of Technology)
AOP-Driven Variability in Software Product Lines Vander Alves, Ayla Dantas, and Paulo Borba Informatics Center – UFPE – Brazil
1 Modularity Analysis of Use Case Implementations Fernanda d’Amorim Advisor: Paulo Borba.
aspectj tools new and noteworthy Mik Kersten University of British Columbia Adrian Colyer IBM Hursley OOPSLA, October
AOSD'04, Lancaster, UK 1 Remote Pointcut - A Language Construct for Distributed AOP Muga Nishizawa (Tokyo Tech) Shigeru Chiba (Tokyo Tech) Michiaki Tatsubori.
Applying Aspect-Orientation in Designing Security Systems Shu Gao Florida International University Center for Advanced Distributed Systems Engineering.
University of British Columbia Software Practices Lab Uniform Support for Modeling Crosscutting Structure Maria Tkatchenko Gregor Kiczales Work supported.
HCS12 Technical Training Module 15 – Break Module Slide 1 MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other.
Aspect-Oriented Software Development (AOSD)
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
An approach for Integration of Aspect Orientation and Model- Driven Engineering using Aspect- Oriented Code Generation Presenter: Abid Mehmood Advisor:
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
MACS 2005 First International Workshop on the Modeling and Analysis of Concerns in Software Concern Management for Constructing Model Compilers -- Towards.
Aspect-Oriented Programming with the Eclipse AspectJ plug-in
Constructing MDA-based Application Using Rational XDE for .NET
Aspect Oriented Software Design
Presentation transcript:

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Modeling Aspect-Oriented Compositions Thomas Cottenier - Motorola Labs / Illinois Institute of Technology Aswin van den Berg - Motorola Labs Tzilla Elrad - Illinois Institute of Technology

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Outline Model-Driven Software Development Crosscutting Concerns Aspect-Oriented Software Design Our Objectives for AOSD Our Metamodel for AOSD

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Model-Driven Software Development in Motorola Communicating Real-time Embedded Systems Simulation, Verification, Use-Case Validation (Optimized) Code Generation Software Reuse SDL2000, SDL Statecharts Early fault-detection, Iterative, Agile Telelogic TAU G1/G2, Mousetrap Pluggability, Reuse of legacy code

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Model-Driven Software Development in theory PRODUCT CODE CODE GENERATOR UNIT TEST PRODUCT REQUIREMENTS UKUSARMTR air_in taxi_in taxi_out air_out STANDARD DESIGN NOTATIONS DESIGN SIMULATION MIDDLEWARE, OS, PLATFORM

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Model-Driven Software Development in practice UKUSARMTR air_in taxi_in taxi_out air_out UK Monitoring RMTR air_in taxi_in taxi_out air_out UK Synchro. RMTR air_in taxi_in taxi_out air_out UK Persistency RMTR air_in taxi_in taxi_out air_out UK Real-time RMTR air_in taxi_in taxi_out air_out UK MM RMTR air_in taxi_in taxi_out air_out UK Caching RMTR air_in taxi_in taxi_out air_out UK Security RMTR air_in taxi_in taxi_out air_out

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Crosscutting Concerns Scattering The code for a concern is spread out. Single concern affects multiple modules. Tangling Concern implementations are interleaved in a single module. Crosscutting Concern Concern can not be modularized in the decomposition mechanism of the language. e.g., Logging: Calls to logging component represent about 15% of model size Different Use Cases/Scenarios implementations within a single module CCC follows different composition rules

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Aspect-Oriented Software Design

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Objectives for AOSD Modularization of Crosscutting Concerns CORE REQUIREMENTS UKUSARMTR air_in taxi_in taxi_out air_out CORE MODEL CROSSCUTTING REQUIREMENTS UKUSARMTR air_in taxi_in taxi_out air_out UKUSARMTR air_in taxi_in taxi_out air_out ASPECT MODELS FULL MODEL CONNECTOR

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Objectives for AOSD Simulation and Validation of Modular Units CORE REQUIREMENTS UKUSARMTR air_in taxi_in taxi_out air_out CORE MODEL CROSSCUTTING REQUIREMENTS UKUSARMTR air_in taxi_in taxi_out air_out UKUSARMTR air_in taxi_in taxi_out air_out ASPECT MODELS FULL MODEL CONNECTOR ASPECT MODEL VALIDATION FULL MODEL VALIDATION CODE VALIDATION (TEST-HARNESS) ASPECT MODEL VALIDATION PLATFORM CODE VALIDATION (TEST-HARNESS) CORE MODEL VALIDATION

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Objectives for AOSD Reuse of modular units Aspect Library

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Objectives for AOSD (Optimized) Code Generation

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Objectives for AOSD Pluggability and Reuse of Legacy Code ?

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Objectives for AOSD Simplicity, Adoptability Software development teams have enough on their minds. It is a challenge to convince teams to use new methodologies/processes. The benefit needs to be crystal clear. The learning curve needs to be low. The adoption threshold should not exist, (gradual adoption).

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Objectives for AOSD Modularization of cross-cutting concerns Simulation and validation of modular units Reuse of modular units (Optimized) Code Generation Pluggability and Reuse of legacy code Simplicity, Adoptability

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Objectives for AOSD Aspect models should not be core-model specific and, vice versa, Core models should be oblivious to extensions.

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Objectives for AOSD M M M M M instead of

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Objectives for AOSD We need to simulate and validate the woven model with the available modeling tools. I.e., no heavy-weight extension with new diagrams

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Objectives for AOSD instead of

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Metamodel for AOSD Aspect-Oriented Language Elements join point (JP) model principled points in program execution such as method calls, field accesses, and object constructions means of identifying JPs picking out join points of interest (predicate) pointcuts: set of join points means of specifying behavior at JPs what happens at the points of interest advice declarations

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Metamodel for AOSD Aspect-Oriented Language Elements join point (JP) model JPs not visible in the model at design phase means of identifying JPs pointcuts are part of the Connector means of specifying behavior at JPs advice and intertype declarations are parts of the Aspect Bean

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Metamodel for AOSD Model Driven Architecture Source Meta Model Transformation Structural Meta Model Target Meta Model <return name="result" type="Boolean“ value=“false”/> <advice name="log_update“ Transformation Behavioral Meta Model Transformation Engine MetaPrograming API Model Strategies PIM PSM What? How? CIM

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Metamodel for AOSD AspectSDL AspectSDL: Model transformation engine for Aspect-Oriented SDL statechart composition JP Meta Model Structural Meta Model of Weaver Target Meta Model <return name="result" type="Boolean“ value=“false”/> <advice name="log_update“ Behavioral Meta Model of Weaver Transformation Engine MetaPrograming API Model Weaving Strategies Aspect Bean Meta Model

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Metamodel for AOSD Join Point Metamodel

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Metamodel for AOSD Join Points

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Metamodel for AOSD Aspect Beans

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Metamodel for AOSD Example

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Metamodel for AOSD Aspect Connector

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Our Metamodel for AOSD Example <advicedefinition name="log_update“ method="HashMap_Logger::HashMap_Update_Failure" bind-to="hashtable_update" type="after">

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective owners. © Motorola, Inc Questions?