1 Model Interface Implementation for Two-Way Obliviousness in Aspect-Oriented Modeling Presented by Wuliang Sun Department of Computer Science Baylor University.

Slides:



Advertisements
Similar presentations
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Advertisements

Awais Rashid, Steffen Zschaler
Aspect Oriented Programming. AOP Contents 1 Overview 2 Terminology 3 The Problem 4 The Solution 4 Join point models 5 Implementation 6 Terminology Review.
An Aspect-Oriented Approach For Web Application Access Control Presented by: Mohamed Hassan Carleton University Carleton University
©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.
Aspect-Oriented Modeling Workshop March 14, 2005 Chicago, IL
ASPECT ORIENTED SOFTWARE DEVELOPMENT Prepared By: Ebru Doğan.
An Aspect-Oriented Approach to Dynamic Adaptation August 8, 2002 Presented by: Sherri Goings Advisors: Dr. Dillon, Dr. Cheng, Dr. Stirewalt SENS Lab
Using UML and Alloy to Specify and Analyze Access Control Features Eunjee Song, Xi Hua SP05-CS681 Project Proposal.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
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
 Introduction  Terms  Design – Modeling  Requirements  Languages  Maintenance  Comparison to Object Oriented  Applications 2.
Free Mini Course: Applying SysML with MagicDraw
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.
1 N Degrees of Separation: Multi-Dimensional Separation of Concern (MDSOC) HyperJ: language and concepts of general concern combination.
Secure Systems Research Group - FAU Aspects and mobile applications Sergio Soares Paulo Borba, “PaDA: A Pattern for Distribution Aspects” In Second Latin.
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)
1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
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.
Expression evaluation E : S | C. S = int. C = Op E E. Op : A | M. A = “+”. M = “*”.
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.
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:
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 A Model-Driven Approach For Information System Migration Raymonde Le Delliou 1, Nicolas Ploquin 2, Mariano Belaunde 3, Reda Bendraou 4, Louis Féraud.
Methodology: The AOP Refactoring Process Aspect-Oriented Refactoring of the Apache Cocoon Shared-Object Resource Allocation System Jeff Dalton Advisor:
TRANSPARENT EXTENSION OF SINGLE- USER APPLICATIONS TO MULTI-USER REAL-TIME COLLABORATIVE SYSTEMS An Aspect Oriented Approach to Framework Integration ICEIS.
AOP-1 Aspect Oriented Programming. AOP-2 Aspects of AOP and Related Tools Limitation of OO Separation of Concerns Aspect Oriented programming AspectJ.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to.
1 An Aspect-Oriented Implementation Method Sérgio Soares CIn – UFPE Orientador: Paulo Borba.
IDENTIFYING SEMANTIC DIFFERENCES IN ASPECTJ PROGRAMS Martin Görg and Jianjun Zhao Computer Science Department, Shanghai Jiao Tong University.
The Unified Modeling Language (UML)
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Demeter Aspects We study techniques for the emerging area of Aspect-Oriented Software Development and focus on the following areas:  Aspectual Collaborations.
Lab 5 CPIT 250 System Analysis and Design.
AOP-Driven Variability in Software Product Lines Vander Alves, Ayla Dantas, and Paulo Borba Informatics Center – UFPE – Brazil
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Kansas City Java User’s Group Jason W. Bedell July 12, 2006
Aspect Oriented Security Tim Hollebeek, Ph.D.
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.
IWFST'2005, Shanghai Testing Aspect-Oriented Programs: Challenges and Opportunities Jianjun Zhao Department of Computer Science and Engineering Shanghai.
Aspect-Oriented Software Development (AOSD)
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
Unified Modeling Language (UML)
Sumant Tambe* Akshay Dabholkar Aniruddha Gokhale
Aspect-Oriented Programming with the Eclipse AspectJ plug-in
Towards Effective Adaptive User Interfaces Design
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Systems Analysis Overview.
Structuring Adaptive Applications using AspectJ and AOM
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Automated Analysis and Code Generation for Domain-Specific Models
Chenchen Xi CNC Supervisor: Prof. John R. Gurd
Software Architecture & Design
Presentation transcript:

1 Model Interface Implementation for Two-Way Obliviousness in Aspect-Oriented Modeling Presented by Wuliang Sun Department of Computer Science Baylor University

2 Outline  Aspect-Oriented Software Development (AOSD) Why AOSD Quantification and Obliviousness in AOSD  Aspect-Oriented Modeling (AOM) Existing Approaches for AOM  Motivation One-Way Obliviousness vs Two-Way Obliviousness  Background Aspects in MATA  Our Two-Way Obliviousness Approach Model Interface and Badge  Conclusion and Future Work

3 Why AOSD?  Decompose complex systems into different concerns Affect modularization Manage interactions between concerns AOSD: Aspect-Oriented Software Development  Scattering The concern is spread over multiple modules  Tangling The concern is intermixed with other concerns

4 Quantification and Obliviousness  Quantification Refer to and modify the disparate elements of the system  Obliviousness Specify the system without the effort to allow the quantification “ Just program like you always do, and we ’ ll be able to add the aspects later ” by Filman and Friedman (p.6, Aspect-oriented programming is quantification and obliviousness, 2000)

5 Obliviousness in AOSD  One-Way Obliviousness VS Two-Way Obliviousness

6 Approaches to Realize Aspect- Orientation  Extensions to existing languages such as Java (e.g., Hyper/J, AspectJ)  Frameworks for introducing aspect orientation without changing existing languages (e.g., Spring, JBoss)  Modeling with UML (e.g., Weavr, MATA) AOP AOM AOSD

7 Distribution Fault tolerance Security Functional behavior Book state : String User borrow return deliver setDamaged res erv e Use case model Platform Model Design Model Product Code Aspect-Oriented “ Modeling ”

8 Existing Approaches for AOM  Motorola ’ s WEAVR Support state machine Support two-way obliviousness  MATA: Modeling Aspects using a Transformation Approach Support class diagram, sequence diagram and state machine Support one-way obliviousness

9 Overview of Aspects in MATA

10 Aspect Composition and Analysis in MATA Rational Software Modeler (RSM) Attributed Graph Grammar (AGG)

11 MATA Approach Evaluation  Advantage Support class diagram, sequence diagram and state machine Support structural and behavioral aspects  Limitation No interface for two-way obliviousness Limited supports on design-level model elements Some model elements are not preserved during the composition

12 Model Interfaces and Badges  Model Interface: specify the structural features that a concrete model may implement  Badge: relate model interface elements to concrete model elements

13 Metamodel of Model Interfaces and Badges

14 An Example

15 Conclusion and Future Work  Two-way obliviousness supported  Diagram type supported Class, sequence and state machine diagram  Tool support Modeling Analysis Weaving  Enhancement Well supports on design-level model elements Preserve the important model elements during the composition

16 Acknowledgements  Mentor: Dr. Eunjee Song  Nathan V. Roberts, UT Austin  Dr. Jon Whittle, Lancaster University

17 Thank you! Question?