Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to.

Slides:



Advertisements
Similar presentations
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
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.
Chapter 3 Process Models
Ch 3 System Development Environment
ASTA Aspect Software Testing Assistant Juha Gustafsson, Juha Taina, Jukka Viljamaa University of Helsinki.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development.
Aspect-Oriented Programming In Eclipse ® Aspect-Oriented Programming in Eclipse with AspectJ Dr Helen Hawkins and Sian January.
Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
ASPECT ORIENTED SOFTWARE DEVELOPMENT Prepared By: Ebru Doğan.
Using the Essential Unified Process with Visual Studio Team System Ian Spence and Craig Lucia.
©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 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Outline Introduction Problem Statement Object-Oriented Design Aspect-Oriented Design Conclusion Demo.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
Describing Methodologies PART II Rapid Application Development*
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
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.
Introduction to Aspect Oriented Programming Presented By: Kotaiah Choudary. Ravipati M.Tech IInd Year. School of Info. Tech.
An Introduction to Software Architecture
Aspect Oriented Programming Razieh Asadi University of Science & Technology Mazandran Babol Aspect Component Based Software Engineering (ACBSE)
Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP CoopIS 2001 September 5-7, Trento, Italy M. Pinto, M. Amor, L. Fuentes,
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.
Aspect Oriented Programming Scott Nykl CSSE 411 Senior Seminar.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
SOFTWARE REUSABILITY AJAYINDER SINGH CSC What is Software Reuse Software reuse is the process of implementing or updating software systems using.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
©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.
Aspect Oriented Programming Sumathie Sundaresan CS590 :: Summer 2007 June 30, 2007.
Aspect Oriented Programming Gülşah KARADUMAN.
On the Modularity Assessment of Aspect- Oriented Multi-Agent Systems Product Lines: a Quantitative Study Camila Nunes
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.
1 The Modular Structure of Complex Systems Presented by: SeyedMasoud Sadjadi and Wei Zhu David L. Parnas, Paul C. Clement, and David M. Weiss ICSE 1984.
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.
Chapter 8: Aspect Oriented Programming Omar Meqdadi SE 3860 Lecture 8 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
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.
Applying Aspect-Orientation in Designing Security Systems Shu Gao Florida International University Center for Advanced Distributed Systems Engineering.
Introduction to Yan Cui Aspect Oriented Programming by
IWFST'2005, Shanghai Testing Aspect-Oriented Programs: Challenges and Opportunities Jianjun Zhao Department of Computer Science and Engineering Shanghai.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Aspect-Oriented Software Development (AOSD)
1 An AOP Implementation Framework for Extending Join Point Models Naoyasu Ubayashi(Kyushu Institute of Technology, Japan) Hidehiko Masuhara(University.
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:
Software Reuse. Objectives l To explain the benefits of software reuse and some reuse problems l To discuss several different ways to implement software.
Object Oriented Systems Design
Software Engineering Lecture 7
Software Life Cycle “What happens in the ‘life’ of software”
Object Oriented Analysis and Design
Object oriented analysis and design
Need for the subject.
Software Design Lecture : 14.
An Introduction to Software Architecture
Aspect-oriented programming
John D. McGregor Module 6 Session 1 More Design
AspectAda Aspect-Oriented Programming for Ada95
Chenchen Xi CNC Supervisor: Prof. John R. Gurd
Aspect Oriented Software Design
Presentation transcript:

Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to increase in size and complexity –need to be deployed quickly –maintenance can be ~40% of the development cost –…–… Re-use approaches proposed as solutions

Software Engineering Discipline Current Issues? –“tyranny of decomposition” problem –Improve re-use of components –Support “mass customization” of software –Architectures for Dynamic Adaptable Systems –… Active research area –Upcoming Architecture Events page maintained by the SEI currently lists 14 conference workshop events/special issues –

Different paradigms share common themes –Definition of re-usable “chunks” Agents in agent-oriented development Aspects in aspect-oriented development Services in service-oriented development Core assets in product line development … –Communication among the “chunks” –Composition of the “chunks” –Use of repositories to organize/store the “chunks” –Visual modeling for improved communication Note. There are UML extensions available for a wide variety of recent paradigms –UML for aspects –UML for services –UML for agents –… –Tool support Research/experimental tools vary widely in maturity (documentation, robustness, completeness) Some things to look for… (or look out for)

A posting to consider… …in time we will construct reusable components and many architectures and someone will ask for such a system, performance, money then integrators will decide on the components and the hardware – see u bye Up to that time we will read, research and invent "x- orienteds" every day..... x may be : object, aspect, service … maybe i should write a methodology Tolga-oriented software development :) Tolga Erdoðan Adapted from posting on Requirements- March 16/08

Aspect-oriented Paradigm: Issues Introductions to the aspect-oriented paradigm are at: Traditional modularization mechanisms suffer from a limitation called the tyranny of the dominant decomposition –the system can be modularized in only one way at a time –concerns that do not align with that modularization end up scattered across many modules and tangled with one another -> Higher coupling, lower cohesion

Aspect-oriented Paradigm: Issues Aspects have been proposed as a solution to the problem –New entity to encapsulate a (crosscutting) concern –Aspects have: Pointcuts - provide the definitions of where and how an aspect will cut into the design. Advice - provide functionality when the aspect is invoked.

Aspect-oriented Paradigm Started at the programming language level –Aspect-oriented programming (AOP) –AspectJ, HyperJ, AspectC++, … Aspect-oriented modelling (AOM) followed –Architecture, Design, and Requirements –UML has been used/extended by a number of researchers for our needs (architecture, design) Some people argue that extensions are not needed; others argue they are needed Of the UML extension mechanisms used, stereotype extensions are the most straightforward >

Aspect-oriented Paradigm This is an active community –Annual conference and journal International Conference on Aspect-Oriented Software Development AOSD ( ) Transactions on AOSD Comprehensive surveys are available: For example This survey report is cited by many; however note the date (2005).

9 Aspect-Oriented DesignObject-Oriented Design Problem Statements Aspects added one at a time Security Adaptability Advantages: Tangling aspects handled separately, Dramatically reduce the complexity of understanding, change, and analysis, promoting reusability … Module 1 Problem Statements Module 1 weaver Final Design Problem: lower cohesion, higher coupling, maybe significant re-work when facing changes Final Design Security Performance Adaptability Aspect-oriented Paradigm: Issues

Aspect-oriented Paradigm: Architecture/Design What would an aspect-oriented architecture/design look like? It depends… Let’s take a look at a couple of examples 1.UML-AOF 2.UML Formal design analysis framework 3.ADL?

FDAF Step One: Extend DNS architecture design with data origin authentication aspect Aspect-oriented Paradigm: FDAF

FDAF Step One: Extend DNS architecture design with data origin authentication aspect (cont.) Aspect-oriented Paradigm: FDAF

Project Management? Maintainability of the software is key focus for the aspect-oriented research community Question: How does adopting this paradigm this impact the PM?