AOP/cross-cutting - PowerPoint PPT Presentation

About This Presentation
Title:

AOP/cross-cutting

Description:

inv Session:: confirmed == instructor null and end = start course.duration. Static ... (4) /post s.end = d course.duration (5) Which parts are needed? 1, 4 ... – PowerPoint PPT presentation

Number of Views:11
Avg rating:3.0/5.0
Slides: 13
Provided by: karllie
Category:
Tags: aop | cross | cutting | duration

less

Transcript and Presenter's Notes

Title: AOP/cross-cutting


1
AOP/cross-cutting
  • What is an aspect?

2
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 an aspect apart into
    three units ideal graph, labels on nodes and
    edges of ideal graph, application to concrete
    graph using connectors specifies cross-cutting

3
Example ACs
  • Ideal graph participant graph
  • Labels on nodes and edges participant code
  • Concrete graph participant graph or application
    class graph
  • Connectors specify cross-cutting

4
Theory of cross cutting
  • Model programs as graphs (e.g. class diagrams,
    abstract syntax trees, etc.)
  • Aspects model as graph editing instructions
    modeled with respect to an ideal graph.
  • Graph editing add new nodes and edges and add to
    node labels and edge labels

5
Specifying cross-cutting
  • Uniform node to nodes, edge to edges simple
    weaving
  • explicit A,B,C,D
  • succinct Nodes(Graph(From A to D))
  • Non-uniform edge to multiple edges code is
    different from target edge to target edge

6
Open-Closed Principleapply to aspects?
  • A satisfactory modular decomposition technique
    should support modules that are both open and
    closed.
  • A module is open if it is available for extension
  • A module is closed if it is available for use by
    other modules

7
(No Transcript)
8
Static model with behavior
Scheduler
sessions
instructors
courses


instructor 0..1
Course
Session
Instructor
sessions

duration Duration
rating Grade free(Date,Date)
sessions

start Date end Date confirmed
Boolean overlaps( Session)
course
Static model


qualifiedFor
qualifiedInstructors
Invariant (business rule) inv Instructorqualifi
edFor-gtincludesAll(sessions.course) inv Session
confirmed gt instructor ltgt null and end
startcourse.duration
9
Minimal specification
  • Action Schedulerchange_dates
  • (Session s, Date d)
  • pre s.start gt now and (1)
  • s.courseltgtnil and (2)
  • s.course.duration Days (3)
  • post s.start d (4)
  • s.end d course.duration (5)

10
Minimal specification
  • Action Schedulerchange_dates
  • (Session s, Date d)
  • pre s.start gt now and (1)
  • /pre s.courseltgtnil and (2)
  • s.course.duration Days (3)
  • post s.start d (4)
  • /post s.end d course.duration (5)

11
(No Transcript)
12
Which parts are needed?
  • 1, 4
Write a Comment
User Comments (0)
About PowerShow.com