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.

Slides:



Advertisements
Similar presentations
AspectWerkz 2 - and the road to AspectJ 5 Jonas Bonér Senior Software Engineer BEA Systems.
Advertisements

Motorola General Business Use MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are.
Automated Evaluation of Runtime Object States Against Model-Level States for State-Based Test Execution Frank(Weifeng) Xu, Gannon University Dianxiang.
Tool support for Distributed Object Technology
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
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
Copyright © 2008 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Andrew Stone Common Security.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Model-Driven Design and Administration of Access Control in Enterprise Applications April 2005.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Programming Creating programs that run on your PC
Aspect-Oriented Programming: An Overview Brandon Wirick Feb
ASPECT ORIENTED SOFTWARE DEVELOPMENT Prepared By: Ebru Doğan.
The Architecture Design Process
University of British Columbia Software Practices Lab CAS Seminar 06 Fluid AJ - A Simple Fluid AOP Tool Terry Hon Gregor Kiczales.
Establishing the overall structure of a software system
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Structured Vs. Object Oriented Analysis and Design SAD Vs. OOAD
1 Model Interface Implementation for Two-Way Obliviousness in Aspect-Oriented Modeling Presented by Wuliang Sun Department of Computer Science Baylor University.
SCHOOL OF COMPUTING QUEEN’S UNIVERSITY 08/03/2013 Andrew Forward, Omar Badreddin, Timothy C. Lethbridge, and Julian Solano School of Electrical Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Outline Introduction Problem Statement Object-Oriented Design Aspect-Oriented Design Conclusion Demo.
Towards Executable Aspect-Oriented UML Models 10th Int. Workshop on Aspect-Oriented Modeling (AOM), 6th Int. Conf. on Aspect-Oriented Software Development.
Sumant Tambe, et. al LEESA DSPD 2008 An Embedded Declarative Language for Hierarchical Object Structure Traversal Sumant Tambe* Aniruddha Gokhale Vanderbilt.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
Aspect Oriented Programming Razieh Asadi University of Science & Technology Mazandran Babol Aspect Component Based Software Engineering (ACBSE)
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Implementing Architectures Software Architecture.
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
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.
Aspect Oriented Programming Sumathie Sundaresan CS590 :: Summer 2007 June 30, 2007.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Aspect-Oriented Modeling of Access Control in Web Applications Gefei Zhang Joint work with Hubert Baumeister, Nora Koch and Alexander Knapp UML-BASED WEB.
Methodology: The AOP Refactoring Process Aspect-Oriented Refactoring of the Apache Cocoon Shared-Object Resource Allocation System Jeff Dalton Advisor:
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
AOP-1 Aspect Oriented Programming. AOP-2 Aspects of AOP and Related Tools Limitation of OO Separation of Concerns Aspect Oriented programming AspectJ.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
Software Metrics Marek Rydzy Kraków SPIN meeting: 27 March 2008.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Lab 5 CPIT 250 System Analysis and Design.
Methods of Software Development Karl Lieberherr Spring 2007.
A Mediated Approach towards Web Service Choreography Michael Stollberg, Dumitru Roman, Juan Miguel Gomez DERI – Digital Enterprise Research Institute
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 14 Event-Driven Programming with Graphical User Interfaces.
Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences SYRCoSE: Spring Young Researchers Colloquium on Software.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 14b: Software Testing Techniques Software Engineering: A Practitioner’s Approach, 6/e Chapter.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
ECE 750 Topic 8 Meta-programming languages, systems, and applications Automatic Program Specialization for J ava – U. P. Schultz, J. L. Lawall, C. Consel.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
SE 510 Principles and Applications of Software Design Aspect Oriented Programming October 5, 2005 Jeff Webb.
Part 3 Design What does design mean in different fields?
UML dynamic Modeling (Behavior Diagram)
Software Architecture
Jing Zhang Thomas Cottenier Aswin van den Berg Jeff Gray
Dynamic Modeling Lecture # 37.
Stateful Aspects in JAsCo
Presentation transcript:

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 Group, Illinois Institute of Technology AOSD 2007 Stateful Aspects: The Case for Aspect-Oriented Modeling

Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 This talk is about…

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 This talk is about… Stateful Aspects Modeling Languages –Transformational Systems –Reactive Systems Stateful Aspects Appear in Reactive Systems Model-Driven Implementation of Reactive Systems Aspect-Oriented Modeling with Motorola WEAVR Abstractions for Stateful Aspects Conclusions

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Conclusions The need for stateful aspects indicates that the base system exhibits reactive behavior Being reactive, the base system is better decomposed according to a state machine decomposition language Aspect-Oriented Modeling languages can capture stateful aspects in terms of module specifications as opposed to implementation- dependent sequences of events Aspect-Oriented Modeling techniques can achieve better decoupling between aspects and base modules

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Stateful Aspects

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Stateful Aspects “Jumping Aspects” Problem (Brichau et al.) History-sensitive pointcut descriptors that capture protocols –Event-Based AOP (Douence et al.) –Trace-Based Aspects (Douence et al.) –Declarative Event Patterns (Walker et al.) –Java Aspect Components (Vandeperren et al.) Stateful aspect languages recover the state-machine based behavior of the system

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Stateful Aspects in JAsCo

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Stateful Aspects History-sensitive pointcut descriptors capture protocols Systems that implement protocols can be categorized as being reactive, discrete systems as opposed to transformational systems

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Software Modeling Different types of systems: Transformational systems: Data-Processing systems, Compilers, Search-Engines, Computation Intensive systems, etc.. Reactive systems ATM, vending machines, phones, cars, missile and avionic systems, telecom infrastructure, human-machine interface of may ordinary software, etc… Workflow systems Enterprise Resource Planning systems, business processes, Scientific workflow systems, etc… Concurrent systems Application Servers, Resource Access Servers, telecom systems, user- interfaces, …

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Software Modeling Different types of systems: Transformational systems: Data-Processing systems, Compilers, Search-Engines, Computation Intensive systems, etc.. Procedural, Functional, Object-Oriented, etc programming languages provide excellent support for Transformational systems!

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Software Modeling Different types of systems: Reactive systems ATM, vending machines, phones, cars, missile and avionic systems, telecom infrastructure, human-machine interface of may ordinary software Procedural, Functional, Object-Oriented, etc programming languages DO NOT provide the right abstractions

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Reactive Systems Components: -That are repeatedly prompted by the outside world and continuously respond to external inputs -Whose behavior is highly dependent on module history Abstractions: -State -Transition -Decision Actions Today, difficult systems are hybrid systems ! (concurrent, reactive, transformational, workflow)

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 void actionPerformed(ActionEvent evt) { 2. switch(this.STATE){ 3. case Init: 4. serviceA.methodA(); 5. if(evt.getSource() == Enter){ 6. serviceB.methodB(); 7. if(evt.getActionCommand() == “Previous”){ 8. serviceC.methodC(); 9. this.STATE = Previous; 10. return; 11. }else 12. if(evt.getActionCommand() == “Next”){ 13. serviceD.methodB(); 14. this.STATE = Next; 15. return; 16. } 17. }else 18. if (evt.getSource() == Cancel){ 19. } 20. break; 21. case Previous: 22. serviceA.methodE(); 23. break; 24. case Next: 25. if(evt.getActionCommand() == “Proceed”){ 26. serviceA methodC(); 27. } 28. break; 29. } 30. methodF(); 31. this.STATE = Done; 32. return; 33. } Example: Java Applet

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Software Modeling Procedural Object-Oriented Workflow State Machine Run time Structure + Execution: Action Language

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Implementation System Implementation System Specification

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Implementation

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Modeling with Motorola WEAVR

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Modeling with Motorola WEAVR WEAVR Model weaving Engine Resource Initialization Aspect Initialization Exception Handling Aspect

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Modeling with Motorola WEAVR WEAVR is an addin to Telelogic TAU that performs weaving of UML models: –Aspects are fully defined at the modeling level –Aspects are woven with the base model before simulation or code generation We are not interested in generating code-level aspects: –The modeling language provides for a richer joinpoint model than programming languages –Code generation optimizers destroy the structure and the syntactic correspondence between models and generated code Model weaving is a particular form of model transformation

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Modeling with Motorola WEAVR WEAVR performs model weaving using the Telelogic TAU metamodel and model transformation API –WEAVR can take advantage of the metamodel, API, type analysis, static analysis and model checking functions provided by TAU Downside: WEAVR is highly dependent on TAU, yet: –The semantics of the standard UML action language are not fully defined –Meaningful inter-exchange of executable models is hard –Weaving at the XMI level is not practical, especially for executable models

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Abstractions for Stateful Aspects The need for stateful aspects indicates that the base system exhibits reactive behavior Being reactive, the base system is better decomposed according to a state machine decomposition language Aspect-Oriented Modeling languages can capture stateful aspects in terms of module specifications as opposed to implementation- dependent sequences of events Aspect-Oriented Modeling techniques can achieve better decoupling between aspects and base modules

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Aspects in Motorola WEAVR

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Aspects in Motorola WEAVR

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Aspects in Motorola WEAVR

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Aspects in Motorola WEAVR Selection mechanism localizes important decision points See paper, Cottenier et al. “Joinpoint Inference from Behavioral Specification to Implementation”, ECOOP’07

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Change of Secutity Policy From: ATrans: call(methodA) > BTrans; BTrans: call(methodB) > CTrans; CTrans: call(methodC) > ATrans; To: ATrans: call(methodA) > BTrans; BTrans: call(methodB) > CTrans; CTrans: call(methodC) || call(methodB) > ATrans; Very Implementation Dependent!Defined in terms of system specification! From: State: Previous-> unauthorized State: Next, Done -> authorized To: State: Previous, Next-> unauthorized State: Done -> authorized

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Change of Secutity Policy To: State: Previous, Next-> unauthorized State: Done -> authorized From: State: Previous-> unauthorized State: Next, Done -> authorized

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Conclusions

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Conclusions The need for stateful aspects indicates that the base system exhibits reactive behavior Being reactive, the base system is better decomposed according to a state machine decomposition language Aspect-Oriented Modeling languages can capture stateful aspects in terms of module specifications as opposed to implementation- dependent sequences of events Aspect-Oriented Modeling techniques can achieve better decoupling between aspects and base modules

Stateful Aspects: The Case for Aspect-Oriented Modeling Thomas Cottenier, AOSD 2007 – Other materials used by permission Motorola General Business Information, 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 Thank You