3 Project Objectives Aspectual Collaborations (AC) for the Connection Aspect –Metric: Does the restructuring of the UAV code with AC reduce the tangling.

Slides:



Advertisements
Similar presentations
Introduction to C++ An object-oriented language Unit - 01.
Advertisements

Main issues: • Why is reuse so difficult • How to realize reuse
Compiler Design PROJECT PRESENTATION : COMPILER FOR OBJECTIVE C Harshal Waghmare Jeet Kumar Nandan Kumar Vishal Agrawal.
Chapter 16: Analysis and Design (a short introduction) ● As engineers in other desciplines do, it necessary for real projects to “analyse” and “design”
Spring, Hibernate and Web Services 13 th September 2014.
Designing classes How to write classes in a way that they are easily understandable, maintainable and reusable 4.0.
Objects First With Java A Practical Introduction Using BlueJ Designing object-oriented programs How to write code in a way that is easily understandable,
Software Configuration Management
Aspect-Oriented Software Development (AOSD) Additional Material Start Writing in AspectJ.
ASPECT ORIENTED SOFTWARE DEVELOPMENT Prepared By: Ebru Doğan.
Design Patterns Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson,Ralph Johnson and John Vlissides (The Gang of.
Automated Inventory Management Chao Li CS 491A Winter 06.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Introduction.
ArchJava A software architecture tool –components –connections –constraints on how components interact Implementation must conform to architecture.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
1 Model Interface Implementation for Two-Way Obliviousness in Aspect-Oriented Modeling Presented by Wuliang Sun Department of Computer Science Baylor University.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Course Progress Lecture Notes Managing Software Development Spring 2005.
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
Chapter 7 Designing Classes. Class Design When we are developing a piece of software, we want to design the software We don’t want to just sit down and.
Master’s Thesis Defense: Aspectual Concepts John J. Sung.
Aspect Oriented Programming Razieh Asadi University of Science & Technology Mazandran Babol Aspect Component Based Software Engineering (ACBSE)
Abc Compiler Zak Fry. Who and Where Programming Tools Group at Oxford University, UK – Oege de Moor Sable Research Group at McGill University, Quebec.
Change Impact Analysis for AspectJ Programs Sai Zhang, Zhongxian Gu, Yu Lin and Jianjun Zhao Shanghai Jiao Tong University.
Aspect Oriented Programming Scott Nykl CSSE 411 Senior Seminar.
Extensible Plug-ins for Aspect-Oriented Programming Macneil Shonle*Ankit Shah.
Designing classes How to write classes in a way that they are easily understandable, maintainable and reusable 3.0.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Hyper/J and Concern Manipulation Environment. The need for AOSD tools and development environment AOSD requires a variety of tools Life cycle – support.
Aspect Oriented Programming Sumathie Sundaresan CS590 :: Summer 2007 June 30, 2007.
Aspect-Oriented Refactoring of the Apache Cocoon Shared-Object Resource Allocation System Jeff Dalton February 28th, 2003 Advisor: David G. Hannay Client:
Aspect Oriented Programming Gülşah KARADUMAN.
On the Modularity Assessment of Aspect- Oriented Multi-Agent Systems Product Lines: a Quantitative Study Camila Nunes
1-1 C Sc 335 Course Overview Object-Oriented Programming and Design Rick Mercer.
Methodology: The AOP Refactoring Process Aspect-Oriented Refactoring of the Apache Cocoon Shared-Object Resource Allocation System Jeff Dalton Advisor:
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.
1 An Aspect-Oriented Implementation Method Sérgio Soares CIn – UFPE Orientador: Paulo Borba.
Drawbacks of object-oriented software development Lecture P12 T120B pavasario sem.
Features of AOP languages AOP languages have the following main elements: –a join point model (JPM) wrt base PL –a specification language for expressing.
Adaptive Software Kevin Cella Graduate Seminar 02/04/2005.
The course. Description Computer systems programming using the C language – And possibly a little C++ Translation of C into assembly language Introduction.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Demeter Aspects We study techniques for the emerging area of Aspect-Oriented Software Development and focus on the following areas:  Aspectual Collaborations.
Designing Classes. Software changes Software is not like a novel that is written once and then remains unchanged. Software is extended, corrected, maintained,
Object-Oriented Principles Applications to Programming.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
 2001 Prentice Hall, Inc. All rights reserved. Chapter 1 – Introduction to Computers, the Internet and the World Wide Web Outline 1.1Introduction 1.2What.
Translating Traversals to AspectJ. Outline Motivation Demeter Process for Traversals AspectJ Translation Process.
Course Progress Lecture Notes Foundations of Software Engineering.
JACQUARD2005, KNVB HOTEL Zeist 3 en 4 februari 2005 Composing Configurable Java Components Tijs van der Storm, CWI, Project Deliver.
SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad
Client-Server applications Introduction to Java Applets Client-server architectures Why do Applets exist? What can an Applet do?
Objects First With Java A Practical Introduction Using BlueJ Designing classes How to write classes in a way that they are easily understandable, maintainable.
COM1205 TraversalJ Project* Pengcheng Wu Feb.25,2003.
Software change Software change is inevitable –New requirements emerge when the software is used –The business environment changes –Errors must be repaired.
Implementing Distribution and Persistence Aspects with AspectJ WAS CLASS.
aspectj tools new and noteworthy Mik Kersten University of British Columbia Andy Clement, George Harley IBM Hursley Labs.
Features of AOP languages AOP languages have the following main elements: –a join point model (JPM) wrt base PL –a specification language for expressing.
 2001 Prentice Hall, Inc. All rights reserved.
Software Engineering Lecture 7
Project Topic 2: Migration to Java 9
Week 4 Object-Oriented Programming (1): Inheritance
Demeter Aspects Who We Are Aspectual Collaborations
MSIS 670 Object-Oriented Software Engineering
Third lecture Review Visitor pattern DemeterJ 12/25/2018 SD.
Structuring Adaptive Applications using AspectJ and AOM
Third lecture Review Visitor pattern DemeterJ 2/17/2019 SD.
Options for Demeter intergration into AspectJ
Refactoring the Aspectizable Interfaces: An Empirical Assessment
Presentation transcript:

3 Project Objectives Aspectual Collaborations (AC) for the Connection Aspect –Metric: Does the restructuring of the UAV code with AC reduce the tangling in the code? Adding Traversals to AspectJ to provide for structure-shy DRE applications –Metric: Demonstrate on a DRE Java application that the improved AspectJ reduces tangling in the code.

4 Technical Approach: AC Refactor UAV code to allow for a smaller interface between collaborations making the collaborations more reusable.

4 Technical Approach: AspectJ extension Extend AspectJ with traversal declarations that are put into separate.java file. Without modifying AspectJ compiler but by using novel software composition techniques made available by AspectJ and useful to several other projects, implement the AspectJ extension.

7 Project Tasks: AC Reorganize UAV code looking for collaborations with low coupling and high cohesion. Done June 2002; requires BBN involvement. Reformulate in terms of AC and improve AC if needed. Done July Develop an AspectJ-based implementation of AC to demonstrate approach on DRE examples. Design done June Implementation may be Dec

7 Project Tasks: AspectJ extension Write back-end to produce class graph for base program. Done June Write front-end to generate AspectJ introductions for traversals. Done August Write middleware that processes traversal specifications. Done September Add visitor interfaces to traversal specifications and generate AspectJ code. Done December This project makes extensive use of DARPA funded software: The AP Library and AspectJ

8 Next Milestones See project tasks

9 Collaboration We have collaborated with the AspectJ team and produced an alpha version of AspectJ + traversals. To gain experience with AspectJ and prepare us for the project, we have successfully used AspectJ as implementation language in a graduate course on Aspect-Oriented Software Development.

10 Technology Transfer to Verizon A mission-critical application at Verizon. Invited presentation at AOSD 2002 by Verizon employee Luis Blando. After four years, the system developed and maintained using DemeterJ is still running 24x7, processing large volumes of electronic orders. luation/gte-labs/