Translating Traversals to AspectJ. Outline Motivation Demeter Process for Traversals AspectJ Translation Process.

Slides:



Advertisements
Similar presentations
DJ Example in UAV Context Karl Lieberherr. Frame Structure Frame X1 X2X3X4X5 AX6X7BX8 Annotation.
Advertisements

Carnegie Mellon 1 Optimal Scheduling “in a lifetime” for the SPIRAL compiler Frédéric de Mesmay Theodoros Strigkos based on Y. Voronenko’s idea.
Technology Mapping.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
(C) 1998 Tendril Software Inc. StructureBuilder Tendril Software Inc. OOPSLA ‘98 Demo Neeraj Sangal, President Tendril Software Karl.
Integration of Demeter and AspectJ (DAJ) John J. Sung.
UML class diagrams and XML schemas Karl Lieberherr UBS AG Northeastern University.
The Gantt Chart in Project Management. What is a Gantt Chart?  A type of chart that shows the Work Breakdown Structure (WBS) in terms of the start and.
1 Model Interface Implementation for Two-Way Obliviousness in Aspect-Oriented Modeling Presented by Wuliang Sun Department of Computer Science Baylor University.
Master’s Thesis Defense: Aspectual Concepts John J. Sung.
Graph Visualization Plug-in for Eclipse Gong Jun CCIS Northeastern Univ 10/2003 How To Finish your Project within Four Weeks.
Pattern Language for AP1 Pattern Language for Adaptive Programming (AP) Karl Lieberherr Northeastern University.
Expression evaluation E : S | C. S = int. C = Op E E. Op : A | M. A = “+”. M = “*”.
System Software for Parallel Computing. Two System Software Components Hard to do the innovation Replacement for Tradition Optimizing Compilers Replacement.
Slides for Gregor Kiczales Two versions –short version: Crosscutting capabilities for Java and AspectJ through DJ (4 viewgraphs only) –long version: Controlling.
Law of Demeter. What is it: Style Rule for building systems. Proposed by my research group: The Demeter Research Group in 1987, published in Covered.
Not only mark-up languages! There are other many other grammar formalisms and tools than XML. Some of them standardized (ASN). Even XML does not always.
Master’s Thesis Defense: Aspectual Concepts John J. Sung.
John J. Sung TA Consulting. Motivation for TraversalJ KL Enterprises identified AOP Enter into the AOP market early Add value by adding traversals to.
Semantics Connection to Traversal Graphs. Strategy: From C1 to T o1:C1 o2:C2 e go down e iff C1. )*.
Compilers for Embedded Systems Ram, Vasanth, and VJ Instructor : Dr. Edwin Sha Synthesis and Optimization of High-Performance Systems.
AOP Foundations Doug Orleans Karl Lieberherr. What we did earlier AOP languages have the following main elements: –a join point model (JPM) wrt base PL.
Features of AOP languages AOP languages have the following main elements: –a join point model (JPM) wrt base PL –a specification language for expressing.
Pattern Language for AP1 Pattern Language for Adaptive Programming (AP) Karl Lieberherr Northeastern University.
Adaptive Software Kevin Cella Graduate Seminar 02/04/2005.
Demeter Aspects We study techniques for the emerging area of Aspect-Oriented Software Development and focus on the following areas:  Aspectual Collaborations.
Checking LoD in AspectJ Show the idea, not the details. How can we precisely express it in a programming language?
Dom and XSLT Dom – document object model DOM – collection of nodes in a tree.
SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad
An Empirical Study of the Demeter System Pengcheng Wu and Mitchell Wand Northeastern University.
A Memory-hierarchy Conscious and Self-tunable Sorting Library To appear in 2004 International Symposium on Code Generation and Optimization (CGO ’ 04)
DJ: traversal-visitor-style programming in Java Josh Marshall/ Doug Orleans Want to add more on traversal through collections and Aspectual Components.
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.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
Pattern Language for AP1 Pattern Language for Adaptive Programming (AP) Karl Lieberherr Northeastern University.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
R-customizers Goal: define relation between graph and its customizers, study domains of adaptive programs, merging of interface class graphs.
3 Project Objectives Aspectual Collaborations (AC) for the Connection Aspect –Metric: Does the restructuring of the UAV code with AC reduce the tangling.
UBC software modularity group 1/14/02 UCSD1 Discussion with Kiczales at UBC Ontology of AOP Ontology is the study of what there is, an inventory of what.
COM1205 TraversalJ Project* Pengcheng Wu Feb.25,2003.
AO Mechanisms in Demeter1 Discussion with Gregor Kiczales at UBC Ontology of AOP Ontology is the study of what there is, an inventory of what exists. An.
Talk only to your friends that share the same concerns (Law of Demeter for Concerns) Midterm Review February 2004.
EENG 751 3/16/ EENG 751: Signal Processing I Class # 9 Outline Signal Flow Graph Implementation l Fundamentals l System Function l Graph Construction.
© 2010 IBM Corporation What’s New in RSA 8.0 Beta 1 – Visual Basic modeling March, 2010.
Global Constraints for Strategy Graphs Gary Gengo COM 3220 June 9, 1998.
Pattern Language for AP1 Pattern Language for Adaptive Programming (AP) Karl Lieberherr Northeastern University.
Introduction To Software Development Environment.
Features of AOP languages AOP languages have the following main elements: –a join point model (JPM) wrt base PL –a specification language for expressing.
Facade Pattern Jim Fawcett CSE776 – Design Patterns Summer 2010
Crosscutting Capabilities for Java and AspectJ through DJ
Pattern Language for Adaptive Programming (AP)
Discussion with Gregor Kiczales at UBC
For John.
Facade Pattern Jim Fawcett CSE776 – Design Patterns Summer 2010
Demeter Aspects Who We Are Aspectual Collaborations
Lecture 6 Project review
Is AP a sound methodology compared to OO?
ADAPTIVE PROGRAMMING Sezen ERDEM December 2005.
Third lecture Review Visitor pattern DemeterJ 12/25/2018 SD.
AP/DJ AP: a generic technology
Better Separation of Crosscutting Concerns with Aspectual Components
Third lecture Review Visitor pattern DemeterJ 2/17/2019 SD.
Requirements for better object-oriented design and programming languages Could be organized better.
Strategy Design Pattern
APPCs revisited 2/25/2019 APPCs revisited.
Options for Demeter intergration into AspectJ
Ideas for testing Transformations of cds 4/27/2019 AOO/Demeter.
Karl Lieberherr Doug Orleans
Line Graphs.
Presentation transcript:

Translating Traversals to AspectJ

Outline Motivation Demeter Process for Traversals AspectJ Translation Process

Motivation Add traversals to AspectJ Future integration of DemeterJ functionality Understand how Demeter implements traversals Get to know AspectJ

Demeter Process for Traversals Obtain Class Graph Obtain Traversal Strategy Generate Traversal Graph from CG and TS Translate Traversal Graph into target platform

Demeter Process for Traversals class graph strategy AP Library Traversal Graph Traversal Pattern Implementation source language

AspectJ Translation Process Uses DJ to obtain Traversal Graph Given a TraversalGraph object, output AspectJ code to introduce methods to implement the traversal

Demter Process for AspectJ class graph strategy AP Library Traversal Graph Object Traversal Pattern Implementation in AspectJ AspectJ

Translation Complexity Traversals –From A to * –From A to B –From A to B bypassing C Class Graph –Concrete Classes, i.e. has-a edges –Alternation Classes, i.e. is-a edge –Collections

Project Schedule (1wk) Translate traversals for concrete classes (.5 wk)Add translation for alternation classes (.5 wk)Add support for collections