Logo
StartDownloadsDocumentationPublicationsContactCommunityDevelopers

What is Jutta?

Jutta stands for just-in-time combined aspect compilation. The Jutta system implements a just-in-time compiler for aspect behavior. For each combination of aspect behavior a highly optimized code fragment is compiled. Executing aspects for a given joinpoint becomes very fast because it merely means executing the cached code fragment. The Jutta system is still a dynamic AOP approach, the combined aspect behavior fragments are only generated as needed and invalidated when aspects are added or removed from the system.

JAsCo currently includes an experimental Jutta implementation. The different settings for the Jutta system are explained here. You can also disable this system if the application does not work as intended.

Combination Strategies

Combination strategies are cached away per default by Jutta. This means that the combination strategies are only executed once for each joinpoint. When your application really depends on executing the combination strategy each time for every applicable joinpoint, then you have to define your combination strategy not cachable by implementing the empty interface jasco.runtime.DoNotCache .

Connector combination strategies are always cached away. Otherwise, caching would be impossible.

Limitations of the current implementation (0.5)

The current Jutta implementation is not able to cache for:

  • hooks that are instantiated with the perobject keyword
  • connectors that are declared non-static
  • hooks that define a dynamic condition (withincode, cflow, isApplicable, ...) AND are applied in a connector using a combinstion strategy.

In those cases the regular interpreter is used instead of the Jutta system.

More Information

Vanderperren, W. and Suvee, D. Optimizing JAsCo dynamic AOP through HotSwap and Jutta. In proceedings of Dynamic Aspects Workshop (DAW), published as RIACS Technical Report 04.01., Lancaster, UK, March 2004. [download draft]

The Jutta system is integrated in the novel run-time weaver. For more information and benchmarks, see this page.

documentation/jutta.txt · Last modified: 10.06.2005 14:24
SiteMapRecent Content by SSEL ©2002-2005     Latest JAsCo Release: JAsCo 0.8.7 (revised 2005-11-25 16:29:02)