For DARPA PI Meeting Dec. 2002

Slides:



Advertisements
Similar presentations
Automated Evaluation of Runtime Object States Against Model-Level States for State-Based Test Execution Frank(Weifeng) Xu, Gannon University Dianxiang.
Advertisements

Using Eclipse. Getting Started There are three ways to create a Java project: 1:Select File > New > Project, 2 Select the arrow of the button in the upper.
ASTA Aspect Software Testing Assistant Juha Gustafsson, Juha Taina, Jukka Viljamaa University of Helsinki.
Candidate Student: Maxim Shvetsov Professor Alexander Settles
Visit at MIT: Daniel Jackson’s Lectures on Coupling Karl Lieberherr
Review Amit Shabtay. March 3rd, 2004 Object Oriented Design Course 2 Review What have we done during the course? Where to learn more? What is for the.
Review David Rabinowitz. March 3rd, 2004 Object Oriented Design Course 2 Review What have we done during the course? Which topics we have not discussed?
Privacy By Design Sample Use Case Privacy Controls Insurance Application- Vehicle Data.
Continuation From Chapter From Chapter 1
Controlling the Complexity of Software Designs Karl Lieberherr College of Computer and Information Science Northeastern University.
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.
Expression evaluation E : S | C. S = int. C = Op E E. Op : A | M. A = “+”. M = “*”.
Relational Databases and Transaction Design Lecture 27.
Slides for Gregor Kiczales Two versions –short version: Crosscutting capabilities for Java and AspectJ through DJ (4 viewgraphs only) –long version: Controlling.
3-4-Dec-07 Meeting of the Working Group “Agricultural Accounts and Prices” 4.3. Prevalidation of APS data (Doc. ASA/AAP/101)
J1879 Robustness Validation Hand Book A Joint SAE, ZVEI, JSAE, AEC Automotive Electronics Robustness Validation Plan The current qualification and verification.
AOSD1 Aspect-Oriented Software Design Karl Lieberherr Theo Skotiniotis.
Course Progress Lecture 1 –Java data binding: Basket example: UML class diagram -> class dictionary without tokens-> language design -> class dictionary.
AOP issues. Class/Aspect Table Loose Coupling Classes/Aspects When we evolve a class, how many aspects do we have to change? When we evolve an aspect,
Controlling the Complexity of Software Designs Karl Lieberherr College of Computer and Information Science Northeastern University.
Alain Blondel, 24 July 2006 NA49/T2K phone Meeting NA49/T2K Introduction to the physics case Preamble: since I have not myself run any code or simulations.
Checking LoD in AspectJ Show the idea, not the details. How can we precisely express it in a programming language?
Aspect Oriented Development Alex Beatty.  Purpose  Cross-cutting Concerns  Join Points, Pointcuts, and Advices  Weaving  Invasive vs. Non-Invasive.
Supporting Privacy Protection in Personalized Web Search.
7-1 Decision Analysis Exercise Your decision is whether or not to conduct a final system level factory test on a ground based radar or repair/replace the.
UCI Feb 031 Adaptive Aspect-Oriented Programming in AspectJ Karl J. Lieberherr Northeastern University Joint work of Demeter Research Group.
Why Should You Care About Aspect-Oriented Programming? Karl Lieberherr CCIS.
Necessity of qualitative research in academia and society Nkoli Ezumah University of Nigeria, Nsukka (UNN) UNN-AuthorAID.
Testing OO Software Encapsulation means modeling and storing with an object the parts and the operations. Interactions become implicit in code. Makes difficult.
Implementing Distribution and Persistence Aspects with AspectJ WAS CLASS.
ETOC in AliRoot José LO Alice Offline meeting 10/08/2006.
TECHNICAL ASSISTANCE FOR THE CONVERSION OF RBPAPs INTO RBMPs DATA MANAGEMENT INCEPTION WORKSHOP ESTAMBUL February Eusebio CRUZ GARCÍA.
Profiling and process mining What has been done???
QUALITATIVE RESEARCH QUANTITATIVE RESEARCH TYPE OF INFORMATION SOUGHT RESEARCH.
Research Principles in VET Formulating Research Problems and Research Questions.
Planning Explained Module 4 – Engaging with Neighbourhood Planning.
Quality Assurance.
Understanding Theory and Research Frameworks
Crosscutting Capabilities for Java and AspectJ through DJ
Object-Oriented Software Engineering Using UML, Patterns, and Java,
How to write a research proposal
HOW TO WRITE A RESEARCH PROPOSAL
Observer Design Pattern
CS 641 – Requirements Engineering
Instructor: Dr. Hany H. Ammar
Demeter Aspects Who We Are Aspectual Collaborations
The Object-Oriented Thought Process Chapter 08
Othello Artificial Intelligence With Machine Learning
Controlling the Complexity of Software Designs
Queues Chapter 8 (continued)
Design for Ease in Contraction and Extension
J1879 Robustness Validation Hand Book A Joint SAE, ZVEI, JSAE, AEC Automotive Electronics Robustness Validation Plan Robustness Diagram Trends and Challenges.
Critical Path Analysis 2
Adults as Learners.
LECTURE 14.
Barriers Testbed(s) QoLT 3-plane chart Systems Research Testbed(s)
The Dutch BR and profiling
Analysis Aspects Deters and Cytron propose to use analysis aspects to get profiling information from running Java programs. We explore the design issues.
ATIS’ Service Oriented Networks (SON) Activity
LoD in AspectJ Karl Lieberherr.
ISO management systems
Energy Transformations & Conservation
SISAI 2012 – Statistics Sweden
Making Progress in Multiplication
AspectAda Aspect-Oriented Programming for Ada95
CRISP Process Stephen Wyrick.
Aspect Oriented Software Design
Abstract Data Types Abstraction is to distill a system to its most fundamental parts. Applying the abstraction paradigm to the design of data structures.
Refactoring the Aspectizable Interfaces: An Empirical Assessment
Presentation transcript:

For DARPA PI Meeting Dec. 2002 Deters and Cytron propose to use analysis aspects to get profiling information from running Java programs. We explore the design issues behind analysis aspects and show, by example, how to write an interesting aspect-oriented framework that measures bad coupling between objects/aspects.

Decoupling of Aspects Four aspects: Supplier, TargetBinStack, Checker and Statistics are an aspect-oriented framework. Customization is done by defining subaspects of Supplier and TargetBinStack. Decoupling of aspects is achieved through abstract pointcuts and Named, concrete pointcuts that are “exported”.

Instrumentation of Java programs with Aspects Aspect framework Aspect Diagram Supplier ImmediatePartBin TargetBinStack ArgumentBin Checker LocallyConstructedBin uses pointcuts ReturnValueBin Requirements: Statistics GlobalPreferredBin Good Separation of Concerns in Law of Demeter Checker http://www.ccs.neu.edu/home/lieber/com3205/f02/solutions/com3205/hw04/ (part 3)

Explanation The *bin* aspects collect potential preferred supplier objects that represent good coupling in the context of a method body. The Checker aspect checks each method call whether the receiver is a preferred supplier object. The Statistics aspect counts events generated by the Checker aspect.