[aspectc-user] Cooperation with "CTL-VW"?
os at aspectc.org
Wed Apr 9 15:53:42 CEST 2014
On 03/25/2014 09:29 AM, Markus Elfring wrote:
> Components from the software "AspectC++" support also source code manipulations.
> Another approach uses the technology "computation tree logic with variables and
> witnesses" (CTL-VW) like it is described in the document "A Foundation for
> Flow-Based Program Matching Using Temporal Logic and Model Checking".
I know two of the authors very well and like their work on Coccinelle, SmPL,
etc. a lot.
> Would it be useful to reuse it in your function/class library?
No, I don't think so (if I understood your idea correctly). A technical reason
is that their tools are made for transforming C-code (mainly the Linux kernel)
and not for C++ code. They simply wouldn't work for us. Another reason -- on a
higher level -- is that the pattern matching language described in the paper is
made for "semantic patches". This has similarities with aspect weaving, but also
subtle differences. Aspects are mainly made for "programming", whiles patches
are made for modifications in "existing code". Therefore patches need (in my
opinion) much more fine-grained code transformation abilities. I doubt that it
makes sense to give an AO language, for instance, the ability to transform
specific expressions in specific functions. In the case of aspects, which are
intended to live longer than patches, maintainance problems might arise.
> How do you think about to develop any further extensions for this knowledge area
> from computer science?
Yes, that is definitly a good idea.
> aspectc-user mailing list
> aspectc-user at aspectc.org
Having said that, I would like to add that I am not against changes or
improvements to the AspectC++ pointcut language! On the contrary -- we already
have some ideas in this direction, which would give you more powerful means to
describe related joinpoints. However, we first have to finish the front-end
migration to Clang, which is much more important for the adoption of AspectC++
at the moment.
More information about the aspectc-user