/
Aspect Assumptions Aspect Assumptions

Aspect Assumptions - PowerPoint Presentation

lindy-dunigan
lindy-dunigan . @lindy-dunigan
Follow
387 views
Uploaded On 2017-05-19

Aspect Assumptions - PPT Presentation

A Retrospective Study of AspectJ Developers Assumptions About Aspect Usage Steffen Zschaler Kings College London Awais Rashid Lancaster University 23 March 2011 Motivation ID: 550109

zschaler 2011 aspect steffen 2011 zschaler steffen aspect assumption assumptions types inter original code developers crosscuttingmostly patterns structure advice project aop reasoning

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Aspect Assumptions" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Aspect AssumptionsA Retrospective Study of AspectJ Developers’ Assumptions About Aspect Usage

Steffen

Zschaler

(

King’s

College London),

Awais

Rashid (Lancaster University)

23 March, 2011Slide2

MotivationAspects provide new ways of modularising codeBUT modular reasoning over aspects considered difficultSome approaches exist

XPIs,

OpenModules

, ...BUT how do we know if they are good?

23/03/2011

2

(c) Steffen Zschaler, 2011Slide3

Motivation (2)Modular reasoning relies on assumptions and guaranteesModules provide guarantees if

their assumptions are met

So what types of assumptions do aspect developers make?

23/03/2011

3

(c) Steffen Zschaler, 2011Slide4

Using Assumption TypesAssumption elicitationUse catalogue as “check list” in inspectionsExtract patterns that may be used to identify certain assumption types (semi-)automatically

Assumption verification

Provide specification template for each type

Type-specific assumption

specifiersCode improvement

Some assumptions really are indications of bugs

23/03/2011

4

(c) Steffen Zschaler, 2011Slide5

Study DesignStudied 3 open-source AOP projectsManually identified assumptions (explicit & implicit)

Validated findings with original developers

Manually classified into types

Validated classification with original developers

23/03/2011

5

(c) Steffen Zschaler, 2011Slide6

Selected Projects

Mobile Media

Health Watcher

Glassbox

Academic project

Academic project on an industrial basis

Industrial project

Aspects specifically developed

Aspects specifically developed;

Some

generalisation for reusability

Aspects developed for reuse

Mostly static crosscutting

Mostly dynamic crosscutting

Mostly dynamic crosscutting

Refactored

from an OO

system

Evolved from

an OO system

AOP from scratch

23/03/2011

6

(c) Steffen Zschaler, 2011Slide7

What’s in an Assumption?

System S

Aspect A

Weaving context

wctx

(A)

System S

Δ

23/03/2011

7

(c) Steffen Zschaler, 2011Slide8

Assumption Types

Aspect

Assumptions

Aspect–Base Coordination

Synchronisation

Architecture

Coding Patterns

Managed

by Context

Monitor

Sharing

Communication

Data

Code

Advised

Code

Called

Aspect–Aspect Coordination

Inter-Aspect

Inter-Advice

Inter-Process

ITDs

Deployment

Super-Aspect

Structure

Sub-Aspect

Structure

Precedence

Wormhole

Advice Execution

Sequence

23/03/2011

8

(c) Steffen Zschaler, 2011Slide9

Threats to ValidityLimited number of projectsFound and classified 183 assumptionsCover a range of different AOP project characteristics

New projects may still require new classes to be added

Manual identification and clustering

May have misinterpreted / misunderstood

Constant checks and feedback from original developersAll

AspectJMay be relevant for other modularisation techniquesFurther research needed

AspectJ

most used, though

23/03/2011

9

(c) Steffen Zschaler, 2011Slide10

Future WorkSimplify assumption specificationFormalisation templatesCustom language concepts

Experiments on assumption elicitation

AspectJ

anti-patternsAssumptions in other modularisation techniques

23/03/2011

10

(c) Steffen Zschaler, 2011