[Cs4800] Fwd: Summary of the discussion we had in the algorithms class

Karl Lieberherr lieber at ccs.neu.edu
Wed Nov 9 14:40:15 EST 2011


FYI. I was impressed by the discussion that took place during Ahmed's
lecture.
-- Karl

---------- Forwarded message ----------
From: Ahmed Abdelmeged <ahmed.mohsen at gmail.com>
Date: Mon, Nov 7, 2011 at 10:30 PM
Subject: Summary of the discussion we had in the algorithms class
To: Karl Lieberherr <lieber at ccs.neu.edu>


Two kinds of aspects:
  1. Generic or library aspects. Have generic join points.
  2. Specialized or program specific aspects. Have program specific join
points.

Why aspects?
1. Separation of concerns : The claim there is that by separating the code
that belongs to different concerns, concerns become simpler. The counter
argument is that the separation makes it harder to understand and debug
programs because the control flow is no longer explicit. The counter
counter argument is that this might be true for specialized aspects but for
generic aspects, this is not the case.
2. Compositionality : The claim there is that aspects can be turned on or
off. IOW, aspects are a suitable tool to implement a product lines.
3. Implement new requirements: The claim there is that aspects can be used
to amend existing programs. The counter argument is that it would be
hack-ish to use aspects and later on you would pay the cost plus some tag.

Optimization aspects are specialized aspects. Therefore, the SoC argument
doesn't fare well. Comments can make up for the lost comprehensibility. The
compositionality argument might have a slight chance. Part of the
development of optimization aspects is trying out different configurations
of optimizations. The new requirement argument doesn't fare well because
optimization is almost always a requirement.

One possible additional argument for implementing optimizations using
aspects is because of the tools we provide make their development easier
and safer.  However, I would neither take this nor take the
compositionality argument for granted.
-- 
Ahmed
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the Cs4800 mailing list