View Full Document


Unformatted text preview:

Information Hiding Interfaces for Aspect Oriented Design Kevin Sullivan William G Griswold Yuanyuan Song Yuanfang Cai Macneil Shonle Nishit Tewari Hridesh Rajan Computer Science University of Virginia Charlottesville VA 22903 fsullivan ys8a yc7a nt6x hr2jg cs virginia edu fwgg mshonleg cs ucsd edu ABSTRACT aspects JPs are points in a concrete program execution such as method calls and executions that by the definition of the join point model of the AO language are subject to advising Advising extends or overrides the action at a join point with a CLOSlike 22 Ch 28 before after or around anonymous method called an advice A PCD is a declarative expression that matches a set of JPs An advice extends or overrides the action at each join point matched by a given PCD Because a PCD can select JPs that span unrelated classes an advice can have effects that cut across a class hierarchy Advice pointcuts and ordinary data members and methods are grouped into class like modules called aspects 1 Aspects are intended to support the modular representation of crosscutting concerns 13 although they admit other uses Thirty three years ago seeing the opportunities afforded by the new module composition mechanisms of procedural programming and separate compilation David Parnas asked the question by what criteria should systems be decomposed into modules 19 Taking comprehensibility parallel development and ease of change as goals he used a comparative analysis to argue that the prevailing criterion for modularizing systems according to stages of processing in their flow charts performed poorly relative to his new approach information hiding Under this approach one begins with a list of difficult design decisions or design decisions that are likely to change Each module is then designed to hide such a design decision from the others 19 p 1058 The idea is that stable interfaces should abstract and decouple such decisions As an example Parnas cites the choice of a data representation the

Access the best Study Guides, Lecture Notes and Practice Exams

Loading Unlocking...

Join to view fse2005 and access 3M+ class-specific study document.

We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view fse2005 and access 3M+ class-specific study document.


By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?