Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
research:scope:levels:classpects-loops [2013/04/26 13:20] ifigueroresearch:scope:levels:classpects-loops [2013/04/26 13:23] (current) ifiguero
Line 1: Line 1:
-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. {{research:scope:eos-0.3.4_activity.zip|Download EOS-U + Activity Example}}+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. {{research:scope:eos-0.3.4_activity.zip|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: 
 + 
 +<code> 
 +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); 
 +
 +</code>