[ANN] AspectS (0.4.1)

PhiHo Hoang phiho.hoang at rogers.com
Sun Apr 21 08:49:11 UTC 2002

Hi Robert,

	Thanks for your AspectS. I have not used it for anything yet,
but I have a feeling that this is a very powerful and precise tool. 

	It was mentioned on this list that AspectS can be an excellent
tool for modularizing Squeak, would you like to comment on this
suggestion ?

	In your paper, you said 'crosscutting is inherent to complex
systems [Kicz+97].'

	Do you think that AspectS itself is a complex system ? 

	If so, do you think that AspectS can be improved if you use
AspectS to 'aspectize' AspectS itself ?

	This brings to the question, how would you bootstrap AspectS
with some builtin features in Squeak to make AspectS itself more modular
(?) or bringing the benefit of Aspect to earlier objects. BTW, do you
plan to support module, make AspectS module aware ?

	In your document you said:

 		'in its current implementation, AspectS is realized
without changing neither Smalltalk's syntax nor its virtual machine.
AspectS shows great flexibility by not relying on code transformations
(neither source nor byte code) but making use of metaobject composition

	Does this imply that AspectS can be implemented differently by
modification in Squeak's syntax and/or its virtual machine. 

	I can see the power and elegance of AspectS based on an existing
image. Say, if the GNU Smalltalk people want to add support for AspectS,
what would be the best approach they should take as far as the compiler
and builtin primitives are concerned. Is 'MethodWrapper' the core of
AspectS ?  

	I am learning AspectS and enjoying it. Please keep up with your
work on AspectS.



-----Original Message-----
From: squeak-dev-admin at lists.squeakfoundation.org
[mailto:squeak-dev-admin at lists.squeakfoundation.org] On Behalf Of Robert
Sent: Thursday, April 11, 2002 3:42 AM
To: Squeak-Dev
Subject: [ANN] AspectS (0.4.1)

AspectS 0.4.1

There is an updated version of AspectS (0.4.1).

Besides several small fixes and enhancements, there is a new 
example that illustrates how to use AspectS to introduce 
different perspectives on the system, depending on different 
contexts. The example implements the AspectS tool support, 
previously done via subclassing of existing browser and 
support classes, now as an additional layer on top of the 
browser and support classes. The tools aspect is, amongst 
other characteristics, sensitive to projects as its context:

To create a tools aspect instance:-

	aspect _ AsAspectToolsAspect new.

To install an aspect:-

	aspect install.

To make the tools aspect aware of a certain project:-

		aspect addProject: (Project named: 'Test').
		aspect addProject: Project current.

To make the tools aspect unaware of a certain project:-

		aspect removeProject: Project current.
		aspect removeProject: (Project named: 'Test').

To uninstall the aspect:-

	aspect uninstall.
	aspect _ nil.

The new version (a change set and pre-configured image) is available at

Comments are welcome.


More information about the Squeak-dev mailing list