How to diagram/document Aspect libs?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

How to diagram/document Aspect libs?

Eric B
Does anyone have any good examples/references for diagrams/documentation of Aspect libraries?

I just finished writing a bunch of logging aspects that cross-cut into the application and would like to document them as much as possible for the less knowledgeable.  Although the code itself is well documented, it would be more for flow diagrams, and how the aspects interact with the codebase that would be interested to draw out/ map out using UML, etc.

Does anyone have good examples of how to do something like that?

Thanks,

Eric


_______________________________________________
aspectj-users mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users
Reply | Threaded
Open this post in threaded view
|

Re: How to diagram/document Aspect libs?

Andy Clement
I'm not aware of anything. I mean we have aspectjdoc but that is more about modifying javadocs to show where aspects are applying, rather than for describing the libraries themselves. Have you tried asking on stack overflow too? That does reach a broader audience.

cheers,
Andy

On 26 August 2016 at 18:52, Eric B <[hidden email]> wrote:
Does anyone have any good examples/references for diagrams/documentation of Aspect libraries?

I just finished writing a bunch of logging aspects that cross-cut into the application and would like to document them as much as possible for the less knowledgeable.  Although the code itself is well documented, it would be more for flow diagrams, and how the aspects interact with the codebase that would be interested to draw out/ map out using UML, etc.

Does anyone have good examples of how to do something like that?

Thanks,

Eric


_______________________________________________
aspectj-users mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users


_______________________________________________
aspectj-users mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users
Reply | Threaded
Open this post in threaded view
|

Re: How to diagram/document Aspect libs?

Eric B
Thanks, but unfortunately I fear that this type of question will get slammed on SO as Opinion-based, not a valid-SO-question, etc.

Maybe if I can word it appropriately, but not exactly sure how to do even that.

Thanks,

Eric


On Mon, Aug 29, 2016 at 1:13 PM, Andy Clement <[hidden email]> wrote:
I'm not aware of anything. I mean we have aspectjdoc but that is more about modifying javadocs to show where aspects are applying, rather than for describing the libraries themselves. Have you tried asking on stack overflow too? That does reach a broader audience.

cheers,
Andy

On 26 August 2016 at 18:52, Eric B <[hidden email]> wrote:
Does anyone have any good examples/references for diagrams/documentation of Aspect libraries?

I just finished writing a bunch of logging aspects that cross-cut into the application and would like to document them as much as possible for the less knowledgeable.  Although the code itself is well documented, it would be more for flow diagrams, and how the aspects interact with the codebase that would be interested to draw out/ map out using UML, etc.

Does anyone have good examples of how to do something like that?

Thanks,

Eric


_______________________________________________
aspectj-users mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users


_______________________________________________
aspectj-users mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users


_______________________________________________
aspectj-users mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users
Reply | Threaded
Open this post in threaded view
|

Re: How to diagram/document Aspect libs?

Daniel Speicher
I am mostly aware of research level suggestions for diagrams. If you
want to invest the time, to see what works for you, you might have a
look at:

Dominik Stein, Joint Point Designation Diagrams
https://www.dawis.wiwi.uni-due.de/forschung/forschungsschwerpunkte/aspektorientierte-softwareentwicklung/join-point-designation-diagrams/

Yan Han, Günter Kniesel, Armin B. Cremers:
A meta model and modeling notation for AspectJ
https://www.researchgate.net/publication/228889084_A_meta_model_and_modeling_notation_for_AspectJ


I like as well the ideas in

Ivar Jacobson, Pan-Wei Ng:
Aspect-Oriented Software Development with Use Cases

The notation of Jacobson and Ng is rather ad-hoc, but I found it
nevertheless quite useful for some purposes. They list within an aspect
class the (!) class, to which the aspect applies. Within this class
advice and inter-type declarations of the aspect are shown.

Of course, an aspect that just advices one class is not that
cross-cutting. To model cross-cutting they replace class names by
UML-template variables. So, you have an aspect class that contains a
base class template that contains advice and inter-type declarations.

In sequence diagrams they add boxes for before and after advice and
boxes with holes for around advice. If the advice applies to more than
one class, they use again template variables.


For their use case slice approach, advice and inter-type declarations
targeting just one class are typically enough. To illustrate how a
larger number of classes work together, I used as well just small
fragments added to classes to represent the advice and inter-type
declarations like here:
https://twitter.com/dsp_de/status/259300354901016579 (Same color means
belonging to the same use case realization)


Google showed me as well the following two resources:

In 2006 there was a discussion about UML and Aspects on this mailing list:
http://aspectj.2085585.n4.nabble.com/how-to-UML-aspects-td2078998.html

A recent article that I did not yet study is:
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4130365/


HTH, dsp


Am 30.08.2016 um 20:33 schrieb Eric B:

> Thanks, but unfortunately I fear that this type of question will get
> slammed on SO as Opinion-based, not a valid-SO-question, etc.
>
> Maybe if I can word it appropriately, but not exactly sure how to do even
> that.
>
> Thanks,
>
> Eric
>
>
> On Mon, Aug 29, 2016 at 1:13 PM, Andy Clement <[hidden email]>
> wrote:
>
>> I'm not aware of anything. I mean we have aspectjdoc but that is more
>> about modifying javadocs to show where aspects are applying, rather than
>> for describing the libraries themselves. Have you tried asking on stack
>> overflow too? That does reach a broader audience.
>>
>> cheers,
>> Andy
>>
>> On 26 August 2016 at 18:52, Eric B <[hidden email]> wrote:
>>
>>> Does anyone have any good examples/references for diagrams/documentation
>>> of Aspect libraries?
>>>
>>> I just finished writing a bunch of logging aspects that cross-cut into
>>> the application and would like to document them as much as possible for the
>>> less knowledgeable.  Although the code itself is well documented, it would
>>> be more for flow diagrams, and how the aspects interact with the codebase
>>> that would be interested to draw out/ map out using UML, etc.
>>>
>>> Does anyone have good examples of how to do something like that?
>>>
>>> Thanks,
>>>
>>> Eric
>>>
>>>
>>> _______________________________________________
>>> aspectj-users mailing list
>>> [hidden email]
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>
>>
>>
>> _______________________________________________
>> aspectj-users mailing list
>> [hidden email]
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>
>
>
> _______________________________________________
> aspectj-users mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>


--
GPG/PGP KeyID: 0xD15FCEF6

Daniel Speicher                               University of Bonn, B-IT
[hidden email]                                   Dahlmannstraße 2
http://sewiki.iai.uni-bonn.de/dsp                         D-53113 Bonn
_______________________________________________
aspectj-users mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users
Reply | Threaded
Open this post in threaded view
|

Re: How to diagram/document Aspect libs?

Eric B
Thanks.  I read through the links you posted and like you said, a lot of it is theoretical ways of documentation.

I'll try to go through it more carefully and extract some useful points. 

Eric


On Tue, Aug 30, 2016 at 4:49 PM, <[hidden email]> wrote:
I am mostly aware of research level suggestions for diagrams. If you
want to invest the time, to see what works for you, you might have a
look at:

Dominik Stein, Joint Point Designation Diagrams
https://www.dawis.wiwi.uni-due.de/forschung/forschungsschwerpunkte/aspektorientierte-softwareentwicklung/join-point-designation-diagrams/

Yan Han, Günter Kniesel, Armin B. Cremers:
A meta model and modeling notation for AspectJ
https://www.researchgate.net/publication/228889084_A_meta_model_and_modeling_notation_for_AspectJ


I like as well the ideas in

Ivar Jacobson, Pan-Wei Ng:
Aspect-Oriented Software Development with Use Cases

The notation of Jacobson and Ng is rather ad-hoc, but I found it
nevertheless quite useful for some purposes. They list within an aspect
class the (!) class, to which the aspect applies. Within this class
advice and inter-type declarations of the aspect are shown.

Of course, an aspect that just advices one class is not that
cross-cutting. To model cross-cutting they replace class names by
UML-template variables. So, you have an aspect class that contains a
base class template that contains advice and inter-type declarations.

In sequence diagrams they add boxes for before and after advice and
boxes with holes for around advice. If the advice applies to more than
one class, they use again template variables.


For their use case slice approach, advice and inter-type declarations
targeting just one class are typically enough. To illustrate how a
larger number of classes work together, I used as well just small
fragments added to classes to represent the advice and inter-type
declarations like here:
https://twitter.com/dsp_de/status/259300354901016579 (Same color means
belonging to the same use case realization)


Google showed me as well the following two resources:

In 2006 there was a discussion about UML and Aspects on this mailing list:
http://aspectj.2085585.n4.nabble.com/how-to-UML-aspects-td2078998.html

A recent article that I did not yet study is:
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4130365/


HTH, dsp


Am 30.08.2016 um 20:33 schrieb Eric B:
> Thanks, but unfortunately I fear that this type of question will get
> slammed on SO as Opinion-based, not a valid-SO-question, etc.
>
> Maybe if I can word it appropriately, but not exactly sure how to do even
> that.
>
> Thanks,
>
> Eric
>
>
> On Mon, Aug 29, 2016 at 1:13 PM, Andy Clement <[hidden email]>
> wrote:
>
>> I'm not aware of anything. I mean we have aspectjdoc but that is more
>> about modifying javadocs to show where aspects are applying, rather than
>> for describing the libraries themselves. Have you tried asking on stack
>> overflow too? That does reach a broader audience.
>>
>> cheers,
>> Andy
>>
>> On 26 August 2016 at 18:52, Eric B <[hidden email]> wrote:
>>
>>> Does anyone have any good examples/references for diagrams/documentation
>>> of Aspect libraries?
>>>
>>> I just finished writing a bunch of logging aspects that cross-cut into
>>> the application and would like to document them as much as possible for the
>>> less knowledgeable.  Although the code itself is well documented, it would
>>> be more for flow diagrams, and how the aspects interact with the codebase
>>> that would be interested to draw out/ map out using UML, etc.
>>>
>>> Does anyone have good examples of how to do something like that?
>>>
>>> Thanks,
>>>
>>> Eric
>>>
>>>
>>> _______________________________________________
>>> aspectj-users mailing list
>>> [hidden email]
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>>
>>
>>
>> _______________________________________________
>> aspectj-users mailing list
>> [hidden email]
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>
>
>
> _______________________________________________
> aspectj-users mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>


--
GPG/PGP KeyID: 0xD15FCEF6

Daniel Speicher                               University of Bonn, B-IT
[hidden email]                                   Dahlmannstraße 2
http://sewiki.iai.uni-bonn.de/dsp                         D-53113 Bonn
_______________________________________________
aspectj-users mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users


_______________________________________________
aspectj-users mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users