The following download contains the EOS-U compiler, version 0.3.4, downloaded from http://www.cs.iastate.edu/~eos/. In the examples folder we added the ActivityExample code, to illustrate aspect loops in Classpects. Download EOS-U + Activity Example. Note: the code must be run on Windows, using the .Net framework.
The code for the Activity classspect that provokes an aspect loop is:
using System; using Eos.Runtime; public class ActivityAspect { public object LogActivity(Eos.Runtime.AroundADP adp, Point p) { object result = null; Console.WriteLine("Loop"); Console.WriteLine("execution on point " + p.ToString()) ; result = adp.InnerInvoke(); return result; } static object around execution(any any(..)) || initialization(any(..)) && !within(ActivityAspect) && aroundptr(adp) && target(p): call LogActivity(Eos.Runtime.AroundADP adp, Point p); }