Josh. Java. AspectJ weave. 2 AspectJ. Josh Javassist[1] Javassist Java. AspectJ[3, 4] Java. AspectJ. weave. weave. weave. weave. weaver 1.
|
|
- Jean McKenzie
- 5 years ago
- Views:
Transcription
1 Josh Java Aspect Weaver weaver 1 AspectJ Java AspectJ Java weave AspectJ weave Josh weave Javassist weave 1 weaver 1 AspectJ[3, 4] 1 Java AspectJ Java weave Java AspectJ weave Josh Josh Java weave weave AspectJ Tokyo Institute of Technology, Faculty of Science Doctral Program in Engineering, University of Tsukuba Graduate School of Information Science and Engineering, Tokyo Institute of Technology weave Java Josh weave weave Josh Javassist[1] Javassist Java Javassist weave AspectJ 3 Josh AspectJ AspectJ AspectJ 1.0 1
2 2.1 weave AspectJ 1 Java AspectJ 1.0 Java AspectJ Java Java Java Java 2.2 AspectJ AspectJ AspectJ AspectJ 2 AspectJ Java AspectJ 1 AspectJ 2 Introduction AspectJ introduction introduction ( 1) private int Point.newfield; ( 2) public Point.setX(int newx) { this.x = newx; AspectJ ( 1) Point private int newfield ( 2) Point public setx(int newx) 2
3 Advice join point join point join point pointcut pointcut ( 3) call(int Point.getX()) ( 4) set(int Point.x) ( 3) Point int getx ( 4) Point int x pointcut pointcut ( 5) pointcut mysetx() : set(int Point.x); mysetx pointcut pointcut Advice pointcut Advice 3 pointcut before after aroundadvice advice : pointcut { advice ( 6) before() : call(int Point.getX()) { System.out.println ("after getx"); ( 7) after() : mysetx() {System.out.println("set x"); ( 6) Point int getx() pointcut ( 7) mysetx pointcut pointcut mysetx pointcut 2.3 AspectJ AspectJ Java weave AspectJ weave weave ( 1) weave weave weave 3 Josh AspectJ 2 Josh 3.1 weave Josh Java weave Java AspectJ weave weave Josh 3
4 aspect AspectJ weaved bytecode weaver java source weaved source 1: AspectJ java source local disk Josh partial aspect weaver bytecode weaved bytecode 2: Josh weave weave jar weave Josh Addistant[10] weave weave weave Josh 4
5 Josh weaver Java weaver Javassist join point 2 weave 3.2 Josh Javassist weave 1. introduction ( A) public int Point.newPlus(int a, int b) { return a + b; 2. advice ( B) before():call(int Point.getX()) {System.out.println("before"); Josh Java Josh Josh ( A) introduction public class DummyJosh { public int newplus(int a, int b){ return a + b; ( A) ( C) public Point.newPrintX() { System.out.println ("x = " + x); introduciton public class DummyJosh { public newprintx() { System.out.println("x = " + x); x ( Point ) Point public class DummyJosh { public newprintx() { System.out.println("x = " + x); public int x; public int y; public int getx() { return 0; public setx(int newx) { return; 5
6 Point x,y getx(),setx(int newx) Javassist Advice 3.3 Josh weaver addconstructor(..) addfield(..) addinterface(..) addmethod(..) setsueprclass(..) Josh weaver Javassist Javassist Javassist weave weave 2 ( 1) private int Point.newfield; ( 6) before() : call(int Point.getX()) {System.out.println("before"); weave Introduction Introduction 2 Josh Javassist 1 CtClass (compile-time Class) ( 1) ClassPool pool = ClassPool.getDefault(); CtClass ctpoint = pool.get("point"); ClassPool CtClass CtClass CtClass introduction javassist.ctfield CtField CtMethod Java API Field Method ( 1) introduction 1: Introduction CtClass CtField ctfield = new CtField(CtClass.intType, "newfield", ctpoint); ctpoint.addfield(ctfield); ctpoint Point CtClass Advice Advice pointcut 2 Javassist advice javassist.codeconverter join point join point advice insertbeforemethod(..) redirectmetodcall(..) replacefieldread(..) replacenew(..) 2: CodeConverter 6
7 ( 6) insertbeforemethod(ctmethod origin, Ct- Method before) origin before before {System.out.println( before ); CtMethod origin Point Javassist before before Josh before Point Javassist before CtMethod ( 6) advice Code- Converter ctpoint Point CtClass CodeConverter converter = new CodeConverter(); converter.insertbeforemethod (origin, before); ctpoint.instrument(converter); CodeConverter instrument() Josh advice CodeConverter CodeConverter insrument weave ( 6) advice Javassist weave advice Javassist join point join point advice 3.4 weave Josh Sun Blade 1000(Ultra SPARC III 750MHz 2 CPU Solaris 8), JVM Sun JDK1.3.1 HotSpot TM Client VM Sun JDK javac 3 weave 3 Introduction 1000 introduction 20Advices 20 advice advice CodeConverter instrument CodeConverter advice pointcut pointcut pointcut 1 long Advice advice advice 1 pointcut load time of class 20Advices 20 advice Josh advice 7
8 160 execution time [msec] Advice 1 long Advice Introduction load time of class size of class file [KByte] 3: weave introduction msec AspectJ weave weave 2500msec Josh Josh MixJuice MixJuice[7] Java introduction MixJuice join point advice 4.2 MultiJava MultiJava[8] Java open classes symmetric multiple dispatch open classes introduction MuliJava 4.3 Binary Component Adaptation Binary Component Adaptation(BCA)[5] Java BCA introduction 8
9 BCA delta-file Java Java Virtual Machine(JVM) delta-file BCA JVM 5 AspectJ weave Josh Josh weave weave Javassist weave weave weave Josh advice Overview of AspectJ, In ECOOP 2001 Object- Oriented Programming [5] Ralph Keller and Urs Hölzle, Binary Component Adaptation, In ECOOP 1998 Object-Oriented Programming, LNCS 1445, pp [6] Günter Kniesel and Pascal Costanza, JMangler A Framework for Load-Time Transformation of Java Class Files, In IEEE Workshop on Source Code Analysis and Manipulation(SCAM), November 2001 [7],,,, AIST01-J , [8] Curtis Clifton, Gary T.Leavens, Craig Chambers and Todd Millistein, MultiJava: Modular Open Classes and Symmetric Multiple Dispatch for Java, In Proceedings of OOPSLA 2000, SIGPLAN Notices, Vol.35, No.10, pp , [9] 2001 oo2001 pp [10] Michiaki Tatsubori, Toshiyuki Sasaki, Shigeru Chiba and Kozo Itano, A Bytecode Translator for Distributed Execution of Legacy Java Software, In Proceedings of ECOOP 2001, LNCS 2072, ECOOP 2001 Object Oriented Programming, pp , Springer verlag, 2001 [1] Shigeru Chiba, Load-time Structural Reflection in Java, In ECOOP 2000 Object-Oriented Programming, LNCS 1850, pp , [2] Java pp [3] Gregor Kiczals, John Lamping, Anurag Mendhekar, Chris Maeda,Cristin Lopes, Jean-Marc Loingtier, and John Irwin, Aspect-Oriented Programming, In ECOOP 97 Object-Oriented Programming, LNCS 1241, pp , [4] Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William G.Griswold, An 9
Structural Reflection by Java Bytecode Instrumentation
Vol. 42 No. 11 Nov. 2001 Java, Java API introspection API Javassist Java JVM Javassist JVM Javassist Structural Reflection by Java Bytecode Instrumentation Shigeru Chiba, and Michiaki Tatsubori The standard
More informationA Unit Testing Framework for Aspects without Weaving
A Unit Testing Framework for Aspects without Weaving Yudai Yamazaki l01104@sic.shibaura-it.ac.jp Kouhei Sakurai sakurai@komiya.ise.shibaura-it.ac.jp Saeko Matsuura matsuura@se.shibaura-it.ac.jp Hidehiko
More informationProfiler Instrumentation Using Metaprogramming Techniques
Profiler Instrumentation Using Metaprogramming Techniques Ritu Arora, Yu Sun, Zekai Demirezen, Jeff Gray University of Alabama at Birmingham Department of Computer and Information Sciences Birmingham,
More informationBugdel: An Aspect-Oriented Debugging System
Bugdel: An Aspect-Oriented Debugging System Yoshiyuki Usui and Shigeru Chiba Dept. of Mathematical and Computing Sciences Tokyo Institute of Technology 2-12-1-W8-50 Ohkayama, Meguro-ku Tokyo 152-8552,
More informationAn Aspect-Oriented Language for Exception Handling
Vol. 47 No. 4 Apr. 2006 GluonJ/R GluonJ/R block recover GluonJ/R An Aspect-Oriented Language for Exception Handling Natsuko Kumahara, Kenichi Kourai and Shigeru Chiba We must often handle exceptions raised
More informationAddistant. Java. Addistant
AOP Addistant Addistant 2 Addistant Java JVM Addistant 2 join point 1 crosscutting concerns AOP [2] Addistant[1] Tokyo Institute of Technology, Faculity of Science Doctral Program in Engineering, University
More informationDynamic Weaving for Building Reconfigurable Software Systems
Dynamic Weaving for Building Reconfigurable Software Systems FAISAL AKKAWI Akkawi@cs.iit.edu Computer Science Dept. Illinois Institute of Technology Chicago, IL 60616 ATEF BADER abader@lucent.com Lucent
More informationJosh: An Open AspectJ-like Language
Josh: An Open AspectJ-like Language Shigeru Chiba Tokyo Institute of Technology 2-12-1 Ohkayama, Meguro-ku, Tokyo 152-8552, Japan chiba@is.titech.ac.jp Kiyoshi Nakagawa Tokyo Institute of Technology 2-12-1
More informationIndependent Extensibility for Aspect-Oriented Systems
Independent Extensibility for Aspect-Oriented Systems Pascal Costanza, Günter Kniesel, and Michael Austermann University of Bonn, Institute of Computer Science III Römerstr. 164, D-53117 Bonn, Germany
More informationSeparation of Concerns
Separation of Concerns Erik Ernst Dept. of Computer Science, University of Aarhus, Denmark eernst@daimi.au.dk Abstract. Separation of concerns is a crucial concept in discussions about software engineering
More informationJarcler: Aspect-Oriented Middleware for Distributed Software in Java
Jarcler: Aspect-Oriented Middleware for Distributed Software in Java Muga Nishizawa Shigeru Chiba Dept. of Mathematical and Computing Sciences Tokyo Institute of Technology Email: {muga,chiba@csg.is.titech.ac.jp
More informationA Small Extension to Java for Class Refinement
A Small Extension to Java for Class Refinement Muga Nishizawa Dept. of Mathematical and Computing Sciences Tokyo Institute of Technology 2-12-1 Ohkayama, Meguro-ku Tokyo 152-8552, Japan muga@csg.is.titech.ac.jp
More informationAn AspectJ-enabled Eclipse Runtime Engine - Demonstration at AOSD 04 - Martin Lippert
An AspectJ-enabled Eclipse Runtime Engine - Demonstration at AOSD 04 - Martin Lippert lippert@acm.org www.martinlippert.com Motivation Use Eclipse 3.0 RCP to develop enterprise applications Use AspectJ
More informationUsing Run-Time Data for Program Comprehension
Using Run-Time Data for Program Comprehension Thomas Gschwind Johann Oberleitner Martin Pinzger Distributed Systems Group Technische Universität Wien Argentinerstraße 8/E1841 A-1040 Wien, Austria, Europe
More informationBeyond Aspect-Oriented Programming: Toward Naturalistic Programming
Beyond Aspect-Oriented Programming: Toward Naturalistic Programming Cristina Videira Lopes Institute for Software Research and University of California, Irvine Outline AOP and AspectJ The problem and the
More informationStandard JIT Compiler - Ad-hoc construction - Limited/overspec optim - restricted portability
OpenJIT A Reective Java JIT Compiler Short Version for the OOPSLA'98 Reection Workshop Satoshi Matsuoka Tokyo Institute of Technology and Japan Science and Technology Corporation Hirotaka Ogawa Tokyo Institute
More informationAspects and Data Refinement
Aspects and Data Refinement Pavel Avgustinov 1, Eric Bodden 2, Elnar Hajiyev 1, Oege de Moor 1, Neil Ongkingco 1, Damien Sereni 1, Ganesh Sittampalam 1, Julian Tibble 1 1 Programming Tools Group, Oxford
More informationThe Dark Sides of Integration. Anton Arhipov JRebel,
The Dark Sides of Integration Anton Arhipov JRebel, ZeroTurnaround @antonarhipov Observe results Make a change Build, deploy, wait Where the time goes? Where the time goes? Build Container start Just don
More informationUsing Aspects to Make Adaptive Object-Models Adaptable
Using Aspects to Make Adaptive Object-Models Adaptable Ayla Dantas 1, Joseph Yoder 2, Paulo Borba 1, Ralph Johnson 2 1 Software Productivity Group Informatics Center Federal University of Pernambuco Recife,
More informationMartin P. Robillard and Gail C. Murphy. University of British Columbia. November, 1999
Migrating a Static Analysis Tool to AspectJ TM Martin P. Robillard and Gail C. Murphy Department of Computer Science University of British Columbia 201-2366 Main Mall Vancouver BC Canada V6T 1Z4 fmrobilla,murphyg@cs.ubc.ca
More informationUsing Aspects to Make Adaptive Object-Models Adaptable
Using Aspects to Make Adaptive Object-Models Adaptable Ayla Dantas 1, Joseph Yoder 2, Paulo Borba, and Ralph Johnson 1 Software Productivity Group Informatics Center Federal University of Pernambuco Recife,
More informationA Distributed Dynamic Aspect Machine for Scientific Software Development
A Distributed Dynamic Aspect Machine for Scientific Software Development Chanwit Kaewkasi Centre for Novel Computing School of Computer Science University of Manchester John R. Gurd Centre for Novel Computing
More informationAn Introduction to Aspect-Oriented Programming
An Introduction to Aspect-Oriented Programming By Ken Wing Kuen Lee Reading Assignment COMP 610E 2002 Spring Software Development of E-Business Applications The Hong Kong University of Science
More informationAOP for Software Evolution: A Design Oriented Approach
AOP for Software Evolution: A Design Oriented Approach Walter Cazzola Dept. of Informatics and Communication, Università degli Studi di Milano cazzola@dico.unimi.it Sonia Pini, Massimo Ancona Dept. of
More informationCompilation Semantics of Aspect-Oriented Programs
Compilation Semantics of Aspect-Oriented Programs Hidehiko Masuhara Graduate School of Arts and Sciences University of Tokyo masuhara@acm.org Gregor Kiczales Department of Computer Science University of
More informationJava A Prototype Dynamic Diversity for Protecting Java Software
Copyright c The Institute of Electronics, Information and Communication Engineers SCIS 2012 The 29th Symposium on Cryptography and Information Security Kanazawa, Japan, Jan. 30 - Feb. 2, 2012 The Institute
More informationDynamic Weaving for Building Reconfigurable Software Systems
Dynamic Weaving for Building Reconfigurable Software Systems JAGDISH LAKHANI lakhjag@iitedu Computer Science Dept Illinois Institute of Technology Chicago, IL 60616 FAISAL AKKAWI akkawif@iitedu Computer
More informationSecure Method Calls by Instrumenting Bytecode with Aspects
Secure Method Calls by Instrumenting Bytecode with Aspects Xiaofeng Yang and Mohammad Zulkernine School of Computing, Queen s University Kingston, Ontario, Canada, K7L 3N6 {yang, mzulker}@cs.queensu.ca
More informationwith Aspect/J 24) Aspect-Oriented Programming Literature [KLM+97] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C.
24) Aspect-Oriented Programming with Aspect/J Prof. Dr. Uwe Aßmann Florian Heidenreich Technische Universität Dresden Institut für Software- und Multimediatechnik http//st.inf.tu-dresden.de Version 11-0.1,
More informationAnalysis and Research on the Automated Generation of Unit Test
1+, 1 1, 1 (, 200062) Analysis and Research on the Automated Generation of Unit Test XU Guo-qing 1+, YANG Zong-yuan 1, HUANG Hai-tao 1 1 (Software Engineering Lab, Department of Computer Science, East
More informationCharacteristics of Runtime Program Evolution
Characteristics of Runtime Program Evolution Mario Pukall and Martin Kuhlemann School of Computer Science, University of Magdeburg, Germany {pukall, kuhlemann}@iti.cs.uni-magdeburg.de Abstract. Applying
More informationAPPLYING OBJECT-ORIENTATION AND ASPECT-ORIENTATION IN TEACHING DOMAIN-SPECIFIC LANGUAGE IMPLEMENTATION *
APPLYING OBJECT-ORIENTATION AND ASPECT-ORIENTATION IN TEACHING DOMAIN-SPECIFIC LANGUAGE IMPLEMENTATION * Xiaoqing Wu, Barrett Bryant and Jeff Gray Department of Computer and Information Sciences The University
More informationGETTING STARTED WITH ASPECTJ
a GETTING STARTED WITH ASPECTJ An aspect-oriented extension to Java enables plug-and-play implementations of crosscutting. Many software developers are attracted to the idea of AOP they recognize the concept
More informationAspect-Oriented Programming On Lisp
6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Aspect-Oriented Programming On Lisp Miklós Espák Department of Information Technology, University of Debrecen e-mail:
More informationA Basis for AspectJ Refactoring
A Basis for AspectJ Refactoring Shimon Rura and Barbara Lerner Williams College, Computer Science Department Williamstown, MA 01267 USA srura@wso.williams.edu, lerner@cs.williams.edu Abstract. Refactorings
More informationOn Aspect-Orientation in Distributed Real-time Dependable Systems
On Aspect-Orientation in Distributed Real-time Dependable Systems Andreas Gal, Wolfgang Schröder-Preikschat, and Olaf Spinczyk University of Magdeburg Universitätsplatz 2 39106 Magdeburg, Germany gal,wosch,olaf
More informationPreserving Separation of Concerns through Compilation
Preserving Separation of Concerns through Compilation A Position Paper Hridesh Rajan Robert Dyer Youssef Hanna Dept. of Computer Science Harish Narayanappa Iowa State University Ames, IA 50010 {hridesh,
More informationOn the Impact of Aspect-Oriented Programming on Object-Oriented Metrics
On the Impact of Aspect-Oriented Programming on Object-Oriented Metrics Jean-Yves Guyomarc h and Yann-Gaël Guéhéneuc GEODES - Group of Open and Distributed Systems, Experimental Software Engineering Department
More informationwith Aspect/J 44. Aspect-Oriented Programming Literature [KLM+97] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C.
44. Aspect-Oriented Programming with Aspect/J Prof. Dr. Uwe Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik http://st.inf.tu-dresden.de Version 14-0.9, June 14, 2014
More informationLoad-Time Structural Reflection in Java
Load-Time Structural Reflection in Java Shigeru Chiba Institute of Information Science and Electronics University of Tsukuba and Japan Science and Technology Corp. chiba@is.tsukuba.ac.jp, chiba@acm.org
More informationAspectJ [6] Figure 2: dflow[x, y](q) [8] 1. (q) 6 print. lookup. (p) ) print. p && dflow[x, y](q) lookup p. AspectJ dflow. Java. 2 dflow.
AspectJ dflow Java dflow dflow AspectJ Java dflow 1 before(string x) : call(void Strm.print(String)) && args(x) && dflow[x, String y] [7] ( call(string Db.lookup(String)) && returns(y) ){ log.info(thisjoinpoint
More informationUML4COP: UML-based DSML for Context-Aware Systems
UML4COP: UML-based DSML for Context-Aware Systems Naoyasu Ubayashi Kyushu University ubayashi@acm.org Yasutaka Kamei Kyushu University kamei@ait.kyushu-u.ac.jp Abstract Context-awareness plays an important
More informationAspect-Oriented Generation of the API Documentation for AspectJ
Aspect-Oriented Generation of the API Documentation for AspectJ Michihiro Horie Tokyo Institute of Technology 2-12-1 Ohkayama, Meguro-ku, Tokyo 152-8552, Japan www.csg.is.titech.ac.jp/ horie Shigeru Chiba
More informationIntroduction to Aspect-Oriented Programming
Introduction to Aspect-Oriented Programming LÁSZLÓ LENGYEL, TIHAMÉR LEVENDOVSZKY {lengyel, tihamer}@aut.bme.hu Reviewed Key words: aspect-oriented programming (AOP), crosscutting concerns Aspect-oriented
More informationTransparent Program Transformations in the Presence of Opaque Code
Transparent Program Transformations in the Presence of Opaque Code Eli Tilevich Department of Computer Science Virginia Tech Blacksburg, VA 24061, USA tilevich@cs.vt.edu Yannis Smaragdakis Department of
More informationA Proposal For Classifying Tangled Code
A Proposal For Classifying Tangled Code Stefan Hanenberg and Rainer Unland Institute for Computer Science University of Essen, 45117 Essen, Germany {shanenbe, unlandr@csuni-essende Abstract A lot of different
More informationPublication granted for ECOOP 2000 purposes
Position paper: Instrumentation aspects require symmetric join points Lutz Dominick Siemens AG, Corporate Technology, ZT SE 2 D-81730 Munich, Germany Lutz.Dominick@mchp.siemens.de March 2000 Publication
More information3 GluonJ. 1 GluonJ Web. {rei, DAO. GluonJ Web. GluonJ. glue DAO. glue 1 DAO DAO. ( AOP) AspectJ [6] [7] DAO.
GluonJ {rei, chiba@csg.is.titech.ac.jp GluonJ GluonJ AOP GluonJ GluonJ AspectJ GluonJ 1 GluonJ Web AOP GluonJ Web glue GluonJ ( DAO) DAO glue 1 DAO DAO ( AOP) AspectJ [6] [7] DAO Web 2 AOP DAO 1 DAO AOP
More informationJoin Point Selectors
Join Point Selectors Cristiano Breuel Francisco Reverbel Department of Computer Science University of São Paulo {cmbreuel,reverbel@ime.usp.br Abstract One of the main issues in modern aspect-oriented programming
More informationAltering Java Semantics via Bytecode Manipulation
Altering Java Semantics via Bytecode Manipulation Éric Tanter 1, Marc Ségura-Devillechaise 2, Jacques Noyé 2, and José Piquer 1 1 University of Chile, Computer Science Dept. Avenida Blanco Encalada 2120,
More informationUser-Defined Join Point Selectors
Vol. 7, No. 9, Special Issue: SPLAT, December 2008 User-Defined Join Point Selectors An Extension Mechanism for Pointcut Languages Cristiano Breuel, CS Department, University of São Paulo, Brazil Francisco
More informationA Temporal Logic Language for Context Awareness in Pointcuts
A Temporal Logic Language for Context Awareness in Pointcuts Charlotte Herzeel, Kris Gybels, Pascal Costanza {charlotte.herzeel, kris.gybels, pascal.costanza}@vub.ac.be Programming Technology Lab Vrije
More informationAspect-Oriented Programming and Modular Reasoning
Copyright 2004 Gregor Kiczales, Mira Mezini. All rights reserved. 1 Aspect-Oriented Programming and Modular Reasoning Gregor Kiczales University of British Columbia gregork@acm.org Mira Mezini Technische
More informationTowards a Model-Driven Join Point Model (Extended Version)
A Towards a Model-Driven Join Point Model (Extended Version) Walter Cazzola Dipartimento di Informatica e Comunicazione, Università degli Studi di Milano cazzola@dico.unimi.it Antonio Cicchetti, Alfonso
More informationAn Aspect-to-Class Advising Architecture Based on XML in Aspect Oriented Programming
An Aspect-to-Class Advising Architecture Based on XML in Aspect Oriented Programming T. Hussain, M. M. Awais, S. Shamail, M. A. Adnan Department of Computer Science Lahore University of Management Sciences,
More informationObliviousness, Modular Reasoning, and the Behavioral Subtyping Analogy
Obliviousness, Modular Reasoning, and the Behavioral Subtyping Analogy Curtis Clifton and Gary T. Leavens TR #03-01a January 2003, Revised March 2003 Keywords: Spectators, assistants, aspect-oriented programming,
More informationTowards Regression Test Selection for AspectJ Programs
Towards Regression Test Selection for AspectJ Programs Jianjun Zhao Department of Computer Science and Engineering Shanghai Jiao Tong University 800 Dongchuan Road, Shanghai 200240, China zhao-jj@cs.sjtu.edu.cn
More informationAspectJTamer: The Controlled Weaving of Independently Developed Aspects
AspectJTamer: The Controlled Weaving of Independently Developed Aspects Constantin Serban Applied Research Telcordia Technologies One Telcordia Drive Piscataway, NJ 08854 USA serban@research.telcordia.com
More informationAspect-Oriented Programming and Modular Reasoning
Aspect-Oriented Programming and Modular Reasoning Gregor Kiczales University of British Columbia 2366 Main Mall Vancouver, BC, Canada gregork@acm.org Mira Mezini Technische Universität Darmstadt Hochschulstrasse
More informationOn Aspect-Orientation in Distributed Real-time Dependable Systems
On Aspect-Orientation in Distributed Real-time Dependable Systems Andreas Gal, Olaf Spinczyk, and Wolfgang Schröder-Preikschat University of California, 552 Engineering Tower, Irvine, CA 92697, USA University
More informationProgramming Languages
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Programming Languages Aspect Oriented Programming Dr. Michael Petter Winter 2017/18 Aspect Oriented Programming 1 / 34 Is modularity the key principle
More informationChapitre 6 Programmation orientée aspect (AOP)
6 Programmation orientée aspect (AOP) 2I1AC3 : Génie logiciel et Patrons de conception Régis Clouard, ENSICAEN - GREYC «L'homme est le meilleur ordinateur que l'on puisse embarquer dans un engin spatial...
More informationJML and Aspects: The Benefits of
JML and Aspects: The Benefits of Instrumenting JML Features with AspectJ Henrique Rebêlo Sérgio Soares Ricardo Lima Paulo Borba Márcio Cornélio Java Modeling Language Formal specification language for
More informationPresented at the European Interactive Workshop on Aspects in Software 2004 Motivation and Requirements for a Versatile AOP Kernel
Presented at the European Interactive Workshop on Aspects in Software 2004 Motivation and Requirements for a Versatile AOP Kernel Éric Tanter 1,2 Jacques Noyé 3,2 1 University of Chile, DCC/CWR Avenida
More informationUsing AOP to build complex data centric component frameworks
Using AOP to build complex data centric component frameworks Tom Mahieu, Bart Vanhaute, Karel De Vlaminck, Gerda Janssens, Wouter Joosen Katholieke Universiteit Leuven Computer Science Dept. - Distrinet
More informationImproving Software Modularity using AOP
B Vasundhara 1 & KV Chalapati Rao 2 1 Dept. of Computer Science, AMS School of Informatics, Hyderabad, India 2 CVR College of Engineering, Ibrahimpatnam, India E-mail : vasu_venki@yahoo.com 1, chalapatiraokv@gmail.com
More informationUnplugging Components using Aspects
Unplugging Components using s Sergei Kojarski David H. Lorenz Northeastern University College of Computer & Information Science Boston, Massachusetts 02115 USA kojarski,lorenz @ccs.neu.edu ABSTRACT Normally,
More informationUniversity of Huddersfield Repository
University of Huddersfield Repository Ghareb, Mazen and Allen, Gary Improving the Design and Implementation of Software Systems uses Aspect Oriented Programming Original Citation Ghareb, Mazen and Allen,
More informationAspect Oriented Programming
Aspect Oriented Programming Jaclyn hang, Hai Huo, Kolton Lehmann, Jeremy Nauta, Henry Rosvick, uong Truong Introduction Objectives ompare Aspect Oriented Programming (AOP) with Object Oriented Programming
More informationInducing Evolution-Robust Pointcuts
Inducing Evolution-Robust Pointcuts Mathieu Braem, Kris Gybels, Andy Kellens, Wim Vanderperren System and Software Engineering Lab Vrije Universiteit Brussel Pleinlaan 2, B-1050 Brussels, Belgium {mbraem,kgybels,akellens,wvdperre}@vub.ac.be
More informationApplying Aspect Oriented Programming on Security
Original Article Applying Aspect Oriented Programming on Security Mohammad Khalid Pandit* 1, Azra Nazir 1 and Arutselvan M 2 1 Department of computer Science and engineering, National institute of technology
More informationQuick Adaptation of Web-Based Information Systems with Aspect-Oriented Features
Journal of Computing and Information Technology - CIT 12, 2004, 2, 103 109 103 Quick Adaptation of Web-Based Information Systems with Aspect-Oriented Features Sašo Greiner, Simon Tutek, Janez Brest and
More informationA Novel Approach to Unit Testing: The Aspect-Oriented Way
A Novel Approach to Unit Testing: The Aspect-Oriented Way Guoqing Xu and Zongyuan Yang Software Engineering Lab, Department of Computer Science East China Normal University 3663, North Zhongshan Rd., Shanghai
More informationPerformance effects of Aspect Oriented Programming
Performance effects of Aspect Oriented Programming Remko Bijker Electrical Engineering, Mathematics and Computer Science University of Twente r.bijker@student.utwente.nl ABSTRACT Aspect Oriented Programming
More informationDesign-Based Pointcuts Robustness Against Software Evolution
Design-Based Pointcuts Robustness Against Software Evolution Walter Cazzola 1, Sonia Pini 2, and Ancona Massimo 2 1 Department of Informatics and Communication, Università degli Studi di Milano, Italy
More informationApplying Traversals Over Derived Edges
Applying Traversals Over Derived Edges Fabio Rojas and Karl Lieberherr College of Computer and Information Sciences Northeastern University 360 Huntington Avenue Boston MA 02115 {frojas,lieber}@ccs.neu.edu
More informationUsing Aspect-Oriented Programming to extend Protégé. Henrik Eriksson Linköping University
Using Aspect-Oriented Programming to extend Protégé Henrik Eriksson Linköping University Questions about MOP and Protégé Original goal: Extending the JessTab plug-in What is the class precedence in Protégé?
More informationModel-Driven Design Using Business Patterns
Model-Driven Design Using Business Patterns Bearbeitet von Pavel Hruby 1. Auflage 2006. Buch. xvi, 368 S. Hardcover ISBN 978 3 540 30154 7 Format (B x L): 15,5 x 23,5 cm Gewicht: 1590 g Wirtschaft > Volkswirtschaft
More informationAn Aspect-Based Approach to Modeling Security Concerns
An Aspect-Based Approach to Modeling Security Concerns Geri Georg Agilent Laboratories, Agilent Technologies, Fort Collins, USA geri_georg@agilent.com Robert France, Indrakshi Ray Department of Computer
More informationEvolvable Pattern Implementations need Generic Aspects
Evolvable Pattern Implementations need Generic Aspects Günter Kniesel, Tobias Rho Dept. of Computer Science III, University of Bonn Römerstr. 164, D-53117 Bonn, Germany gk,rho@cs.uni-bonn.de Stefan Hanenberg
More informationImproving the Development of Context-dependent Java Applications with ContextJ
Improving the Development of Context-dependent Java Applications with ContextJ Malte Appeltauer Robert Hirschfeld Hasso-Plattner-Institute University of Potsdam, Germany {first.last}@hpi.uni-potsdam.de
More informationA Theory of Aspects for Aspect-Oriented Software Development
A Theory of Aspects for Aspect-Oriented Software Development Christina von Flach G. Chavez 1,2 Carlos J. P. de Lucena 2 1 UFBA, Computer Science Department Av. Adhemar de Barros, s/n 40170-110, Salvador,
More informationDistributed Dynamic Weaving is a Crosscutting Concern
Distributed Dynamic Weaving is a Crosscutting Concern Michihiro Horie Satoshi Morita Shigeru Chiba Dept. of Mathematical and Computing Sciences Tokyo Institute of Technology http://www.csg.is.titech.ac.jp
More informationTake Control with AspectJ
Hermod Opstvedt Chief Architect DnB NOR ITUD Common components Hermod Opstvedt Slide 1 What is AspectJ? Aspect-oriented programming (AOP) is a technique for improving separation of concerns. Crosscutting
More informationPattern Transformation for Two-Dimensional Separation of Concerns
Transformation for Two-Dimensional Separation of Concerns Xiaoqing Wu, Barrett R. Bryant and Jeff Gray Department of Computer and Information Sciences The University of Alabama at Birmingham Birmingham,
More informationProgram Instrumentation for Debugging and Monitoring with AspectC++
Program Instrumentation for Debugging and Monitoring with AspectC++ Daniel Mahrenholz, Olaf Spinczyk, and Wolfgang Schröder-Preikschat University of Magdeburg Universitätsplatz 2 D-39106 Magdeburg, Germany
More informationEmbedded Device Cooperative System Using Java Bytecode Instrumentation
THE SCIENCE AND ENGINEERING REVIEW OF DOSHISHA UNIVERSITY, VOL. 51, NO. 1 April 2010 Embedded Device Cooperative System Using Java Bytecode Instrumentation Ryota AYAKI *, Kohei KADOWAKI *, Hideki SHIMADA
More informationAssertion with Aspect
Assertion with Aspect Takashi Ishio, Toshihiro Kamiya, Shinji Kusumoto, Katsuro Inoue Graduate School of Engineering Science, PRESTO, Japan Science and Technology Agency Osaka University 1-3 Machikaneyama-cho,
More informationImplementing Software Connectors through First-Class Methods
Implementing Software Connectors through First-Class Methods Cheoljoo Jeong and Sangduck Lee Computer & Software Technology Laboratory Electronics and Telecommunications Research Institute Taejon, 305-350,
More informationAdvice Weaving in AspectJ
Erik Hilsdale PARC 3333 Coyote Hill Rd Palo Alto, CA 94085 +1 650 812 4735 hilsdale@parc.com Advice Weaving in AspectJ Jim Hugunin Want of a Nail Software Sunnyvale, CA +1 650 812 4735 jim-aj@hugunin.net
More informationDebugging Support for Aspect-Oriented Program Based on Program Slicing and Call Graph
Debugging Support for Aspect-Oriented Program Based on Program Slicing and Call Graph Takashi Ishio, Shinji Kusumoto, Katsuro Inoue Graduate School of Information Science and Technology, Osaka University
More informationIBM Research Report. Concepts for Describing Composition of Software Artifacts
RC23345 (W0409-140) September 22, 2004 Computer Science IBM Research Report Concepts for Describing Composition of Software Artifacts William Harrison, Harold Ossher, Peri Tarr IBM Research Division Thomas
More informationSONAR: Customizable, Lightweight Tool Support to Prevent Drowning in Diagnostics
SONAR: Customizable, Lightweight Tool Support to Prevent Drowning in Diagnostics Chunjian Robin Liu, Celina Gibbs, and Yvonne Coady University of Victoria, Canada {cliu, celinag, ycoady}@cs.uvic.ca 1 Introduction
More informationComposition Graphs: a Foundation for Reasoning about Aspect-Oriented Composition
s: a Foundation for Reasoning about Aspect-Oriented - Position Paper - István Nagy Mehmet Aksit Lodewijk Bergmans TRESE Software Engineering group, Faculty of Computer Science, University of Twente P.O.
More informationUnweaving the Impact of Aspect Changes in AspectJ
Unweaving the Impact of Aspect Changes in AspectJ Luca Cavallaro Politecnico di Milano Piazza L. da Vinci, 32 20133 Milano, Italy cavallaro@elet.polimi.it Mattia Monga Università degli Studi di Milano
More informationSeparation of Navigation Routing Code in J2EE Web Applications
Separation of Navigation Routing Code in J2EE Web Applications Minmin Han and Christine Hofmeister Computer Science and Engineering Dept, Lehigh University 19 Memorial Dr. W., Bethlehem, PA 18015, USA
More informationReflection-based implementation of Java extensions: the double-dispatch use-case
Reflection-based implementation of Java extensions: the double-dispatch use-case Abstract Reflection-based libraries could sometimes be used to extend the expressive power of Java without modifying the
More informationRetrieving Sequence Diagrams from Aspect-Oriented Systems
Retrieving Sequence Diagrams from Aspect-Oriented Systems CS842: Aspect-Oriented Programming Course Project Steven She (shshe@uwaterloo.ca) Abstract Aspect-oriented programming is built on the concept
More informationModeling Aspects using Software Stability and UML
Modeling Aspects using Software Stability and UML M.E. Fayad Computer Engineering Department San Jose State University One Washington Square San Jose, CA 9592-080 Ph: 408-924-7364 Fax: 408-924-453 Email:
More informationDeterministically Executing Concurrent Programs for Testing and Debugging
Deterministically Executing Concurrent Programs for Testing and Debugging Steve MacDonald and Jun Chen David R. Cheriton School of Computer Science University of Waterloo, Waterloo, Ontario, Canada {stevem,
More information