170 likes | 214 Views
Model Interface Implementation for Two-Way Obliviousness in Aspect-Oriented Modeling. Presented by Wuliang Sun Department of Computer Science Baylor University. Outline. Aspect-Oriented Software Development (AOSD) Why AOSD Quantification and Obliviousness in AOSD
E N D
Model Interface Implementation for Two-Way Obliviousness in Aspect-Oriented Modeling Presented by Wuliang Sun Department of Computer Science Baylor University
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
Why AOSD? • Decompose complex systems into different concerns • Affect modularization • Manage interactions between concerns • Scattering • The concern is spread over multiple modules • Tangling • The concern is intermixed with other concerns http://en.wikipedia.org/wiki/Aspect-oriented_software_development AOSD: Aspect-Oriented Software Development
Quantification and Obliviousness “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) • Quantification • Refer to and modify the disparate elements of the system • Obliviousness • Specify the system without the effort to allow the quantification
Obliviousness in AOSD • One-Way Obliviousness VS Two-Way Obliviousness
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 AOSD AOM
Security Distribution borrow Fault tolerance Functional behavior return deliver Use case model setDamaged Platform Model Design Model reserve Book User state : String Aspect-Oriented “Modeling” Product Code
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
Aspect Composition and Analysis in MATA Rational Software Modeler (RSM) Attributed Graph Grammar (AGG)
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
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
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
Acknowledgements • Mentor: Dr. Eunjee Song • Nathan V. Roberts, UT Austin • Dr. Jon Whittle, Lancaster University
Thank you! Question?