Fractal - Julia


Julia is the reference implementation of the Fractal component model. Julia is written in Java and is fully compliant with the Fractal Specification. Julia has been designed to be a lightweight and efficient implementation of these specifications. The design choices which have been made aim at reducing the memory footprint and the runtime overhead of Fractal components developped with Julia.

Julia is a highly configurable framework which allows creating many different forms of Fractal components. These forms vary depending on the control semantics associated to the component. Julia provides a set of predefined control semantics for frequently used components (e.g. primitive, composite) and allows developers to incorporate their own forms. These forms may redefine or customize any aspect of the control semantics such as lifecycle management, binding creation, naming policies or any other kind of technical service one may want to attach to a Fractal component.

Julia uses the ASM bytecode engineering library for constructing at runtime a Fractal component instance. ASM is used in many different situations:

  • to generate interceptor and Fractal interface instances,
  • to perform optimizations such as merge strategies for reducing the memory footprint of a Fractal component,
  • to modularize the writing of control classes with a mixin algorithm which generates the bytecode of a class from several different layers developed independantly.

Since version 2.5, Julia provides, in the Koch module, the notion of a component-based control membrane. The idea is to define the control semantics of a Fractal component with the assembling of other so-called control components. These control component are themselves Fractal compliant (they implement the Fractal API) and their assembling is described with Fractal ADL. This feature is described in Section 9 of the Julia API documentation.


Julia can be downloaded from the ObjectWeb Forge Site.


  • The Julia Tutorial explains how Julia can be configured.
  • The Julia API documentation explains how Julia is designed and implemented.

Mailing list

Questions, comments, ideas, etc. related to Julia can be posted on the Fractal mailing list.

Copyright © 1999-2005, ObjectWeb Consortium | contact | webmaster | Last modified at 2012-12-03 09:57 PM