A Proposal For Classifying Tangled Code
started 8/24/2002; 3:11:56 AM - last post 8/26/2002; 7:35:34 AM
|
|
jon fernquest - A Proposal For Classifying Tangled Code
8/24/2002; 3:11:56 AM (reads: 1672, responses: 2)
|
|
A Proposal For Classifying Tangled Code |
This paper classifies "tangled code" using small examples of actual source code:
"Just as indiscriminate usage of the goto caused 'spaghetti code', as Knuth described it,
the re-working of the code to satisfy aspects creates 'tangled code'"
(
Aspect-oriented Programming: A Critical Analysis of a New Programming Paradigm,
a paper that provides background on aspect-oriented programming, cross-cutting concerns, and tangled code)
...there is currently no common accepted foundation available describing how to compare aspect-oriented
mechanisms. This makes it hard to determine if a new proposal really supplies a new solution for untangling
code which is not already available in any other approach....Moreover, it must not be forgotten
that object-oriented programming already provides some techniques for sharing code and hence
permits to untangle code in some way.
It's a little hard to untangle the classification itself at times
and they don't tell you how they are going to put their classification to
work in comparing and choosing aspect-oriented mechanisms and approaches,
but the idea of using simple examples of actual code to derive
more precise definitions is admirable.
Relevance to Programming Languages: Attempt to make the definition of "Aspect-Oriented
Programming" more precise.
(A Proposal For Classifying Tangled Code,
Stefan Hanenberg and Rainer Unland)
Posted to Software-Eng by jon fernquest on 8/24/02; 3:22:28 AM
|
|
|
|
jon fernquest - Re: A Proposal For Classifying Tangled Code
8/24/2002; 3:36:28 AM (reads: 867, responses: 0)
|
|
My untangling of the tangling classification:
- Cross-Cutting Code (what cross-cuts):
- Unit Dependency:
The code "needs some input from the units (classes,objects,methods) it cross-cuts."
- Variabilities Within the Code:
If there are variabilities then you need "a more
complex composition technique, because the code changes when applied to a specific context."
- Transformational property:
The cross-cutting code changes/transforms
the declaration or interface of the element (method/class/object) it is applied to.
- Cross-Cutting Position in Existing Structures (how it cross-cuts):
- Constant vs. Variable Cross-Cutting:
Does the code have variabilities that allow it be added to new contexts?
- Cross-Cutting Location:
A cross-cutting location is embedded in potentially several
affected units
- Static vs. Dynamic Cross-Cutting:
Does the cross-cutting code exist only for so long
as the affected unit exists?
|
|
Manuel Simoni - Re: A Proposal For Classifying Tangled Code
8/26/2002; 7:35:34 AM (reads: 810, responses: 0)
|
|
|
|
|