Figures – Chapter 21. Figure 21.1 Cross-cutting concerns.

Slides:



Advertisements
Similar presentations
Craig J. Nichols, Secretary. FLEET User Manual May 2013.
Advertisements

Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 6: Process Synchronization.
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
1 JAC : Aspect Oriented Programming in Java An article review by Yuval Nir and Limor Lahiani.
© 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.
Chapter 21 - Aspect-oriented Software Development Lecture 1 1 Chapter 21 Aspect-oriented software engineering.
Aspect Oriented Programming - AspectJ Radhika Rajput.
University of British Columbia Software Practices Lab 2005 CASCON A Fluid AOP Editor 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.
Transaction Management and Concurrency Control
1 Real-time requirements  Intro to Software Engineering  Software Development Process Models  Formal methods in software specification  Structured.
Aspect Oriented Programming Written by Michael Beder.
Aspect-Oriented Software Development (AOSD) Additional Tutorial.
Aspect-Oriented Software Development (236608) 1 Aspect-Oriented Software Development (AOSD) Tutorial #1 Course site :
Object-Oriented Development Process Part I: Requirement Gathering Warsun Najib Department of Electrical Engineering Gadjah Mada University.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development 2.
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
Introduction to Aspect- Oriented Programming CS 3360 Gregor Kiczales, et. al. Getting started with AspectJ, CACM, 44(10):59-65, October Fall 2012.
©Ian Sommerville 2006Software Engineering, 8th 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.
Requirements Walk-through
Towards Executable Aspect-Oriented UML Models 10th Int. Workshop on Aspect-Oriented Modeling (AOM), 6th Int. Conf. on Aspect-Oriented Software Development.
Designing For Testability. Incorporate design features that facilitate testing Include features to: –Support test automation at all levels (unit, integration,
Introduction to Aspect Oriented Programming Presented By: Kotaiah Choudary. Ravipati M.Tech IInd Year. School of Info. Tech.
Aspect Oriented Programming (AOP) in.NET Brent Krueger 12/20/13.
7 7 Chapter 7 The University Lab: Conceptual Design Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
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.
Aspect Oriented Programming Scott Nykl CSSE 411 Senior Seminar.
©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.
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.
Alliance Maintenance Integration Process Claude SAAM / Yves GRILL / Denis SCHITTER 29/Feb/2008.
Learningcomputer.com SQL Server 2008 – Administration, Maintenance and Job Automation.
POSL (Principles of Software Languages) Gr. Kyushu Institute of Technology, Japan Pointcut-based Architectural Interface.
Aspect Oriented Programming Gülşah KARADUMAN.
Joel Phinney March 31, ◦ Concerns  Separation of Concerns, Tangled and Scattered Concerns, Cross-Cutting Concerns, Aspects ◦ Aspect-Oriented Software.
Cohesion and Coupling CS 4311
A Distributed Aspect-Oriented System for J2EE Applications Muga Nishizawa and Shigeru Chiba (Tokyo Institute of Technology, Japan) Background - As benefits.
AOSD1 Aspect-Oriented Software Design Karl Lieberherr Theo Skotiniotis.
Introduction to Database Systems1. 2 Basic Definitions Mini-world Some part of the real world about which data is stored in a database. Data Known facts.
Aspect-Oriented Programming and Modular Reasoning G. KiczalesM. Mezini Presented by Alex Berendeyev.
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
Aspect-Oriented Action Semantics Descriptions Luis Menezes University of Pernambuco
 Registry itself is easy and straightforward in implementation  The objects of registry are actually complicated to store and manage  Objects of Registry.
DATABASE CONNECTIVITY TO MYSQL. Introduction =>A real life application needs to manipulate data stored in a Database. =>A database is a collection of.
Chapter 8: Aspect Oriented Programming Omar Meqdadi SE 3860 Lecture 8 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Aspect Oriented Development Alex Beatty.  Purpose  Cross-cutting Concerns  Join Points, Pointcuts, and Advices  Weaving  Invasive vs. Non-Invasive.
Alloy-based Lightweight Verification for Aspect-oriented Architecture Naoyasu Ubayashi(Kyushu Institute of Technology) Yuki Sato(Kyushu Institute of Technology)
More DFDs Class 12.
Aspect Oriented Programming Adlux Consultancy Services Pvt Ltd
AOSD'04, Lancaster, UK 1 Remote Pointcut - A Language Construct for Distributed AOP Muga Nishizawa (Tokyo Tech) Shigeru Chiba (Tokyo Tech) Michiaki Tatsubori.
AOP/cross-cutting What is an aspect?. An aspect is a modular unit that cross-cuts other modular units. What means cross-cutting? Apply AOP to AOP. Tease.
Introduction to Aspect- Oriented Programming CS 3360 Gregor Kiczales, et. al. Getting started with AspectJ, CACM, 44(10):59-65, October Spring 2012.
CSC450 Software Engineering Devon M. Simmonds University of North Carolina, Wilmington 1.
AspectScope: An Outline Viewer for AspectJ Programs Michihiro Horie, Shigeru Chiba Tokyo Institute of Technology, Japan.
10 1 Chapter 10 - A Transaction Management Database Systems: Design, Implementation, and Management, Rob and Coronel.
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.
PPL 2004, Gamagori, AICHI1 Remote Pointcut - A Language Construct for Distributed AOP Muga Nishizawa (Tokyo Tech, Japan) Shigeru Chiba (Tokyo Tech, Japan)
Aspect-Oriented Programming
Aspect-Oriented Programming with the Eclipse AspectJ plug-in
Aspect-Oriented Programming
Aspect Oriented Software Design
Refactoring the Aspectizable Interfaces: An Empirical Assessment
Presentation transcript:

Figures – Chapter 21

Figure 21.1 Cross-cutting concerns

Figure 21.2 Tangling of buffer management and synchronization code synchronized void put (SensorRecord rec ) { // Check that there is space in the buffer; wait if not if ( numberOfEntries == bufsize) wait () ; // Add record at end of buffer store [back] = new SensorRecord (rec.sensorId, rec.sensorVal) ; back = back + 1 ; // If at end of buffer, next entry is at the beginning if (back == bufsize) back = 0 ; numberOfEntries = numberOfEntries + 1 ; // indicate that buffer is available notify () ; } // put

Figure 21.3 Scattering of methods implementing secondary concerns

Figure 21.4 Terminology used in aspect-oriented software engineering TermDefinition adviceThe code implementing a concern. aspectA program abstraction that defines a cross-cutting concern. It includes the definition of a pointcut and the advice associated with that concern. join pointAn event in an executing program where the advice associated with an aspect may be executed. join point modelThe set of events that may be referenced in a pointcut. pointcutA statement, included in an aspect, that defines the join points where the associated aspect advice should be executed. weaving The incorporation of advice code at the specified join points by an aspect weaver.

Figure 21.5 An authentication aspect aspect authentication { before: call (public void update* (..)) // this is a pointcut { // this is the advice that should be executed when woven into // the executing system int tries = 0 ; string userPassword = Password.Get ( tries ) ; while (tries < 3 && userPassword != thisUser.password ( ) ) { // allow 3 tries to get the password right tries = tries + 1 ; userPassword = Password.Get ( tries ) ; } if (userPassword != thisUser.password ( )) then //if password wrong, assume user has forgotten to logout System.Logout (thisUser.uid) ; } } // authentication

Figure 21.6 Aspect weaving

Figure 21.7 Core system with extensions

Figure 21.8 Viewpoints and Concerns

Figure 21.9 Viewpoints on an equipment inventory system 1. Emergency service users 1.1Find a specified type of equipment (e.g., heavy lifting gear) 1.2View equipment available in a specified store 1.3Check-out equipment 1.4Check-in equipment 1.5Arrange equipment to be transported to emergency 1.6Submit damage report 1.7Find store close to emergency 2. Emergency planners 2.1Find a specified type of equipment 2.2View equipment available in a specified location 2.3Check-in/cCheck out equipment from a store 2.4Move equipment from one store to another 2.6Order new equipment 3. Maintenance staff 3.1Check -in/cCheck -out equipment for maintenance 3.2View equipment available at each store 3.3Find a specified type of equipment 3.4View maintenance schedule for an equipment item 3.5Complete maintenance record for an equipment item 3.6Show all items in a store requiring maintenance

Figure Availability-related requirements for the equipment inventory system AV.1There shall be a ‘hot standby’ system available in a location that is geographically well-separated from the principal system. Rationale: The emergency may affect the principal location of the system. AV.1.1All transactions shall be logged at the site of the principal system and at the remote standby site. Rationale: This allows these transactions to be replayed and the system databases made consistent. AV.1.2The system shall send status information to the emergency control room system every five minutes. Rationale: The operators of the control room system can switch to the hot standby if the principal system is unavailable.

Figure Use cases from the inventory management system

Figure Extension use cases

Figure A generic aspect-oriented design process

Figure An aspect-oriented design model

Figure Part of a model of an aspect