Fractal is a modular and extensible component model that can be used with various programming languages to design, implement, deploy and reconfigure various systems and applications, from operating systems to middleware platforms and to graphical user interfaces. Fractal is also a project with several sub projects, dealing with the definition of the model, its implementations, and the implementation of reusable components and tools on top of it.

This FracAda experimental project focuses on an Ada 2005 implementation of such model and allows building reconfigurable software systems

Fractal component model is :

  • Open: reflection, composition, connection
  • Supported by comprehensive series of open source tools
  • Used in industrial-strength developments (E.g. Speedo, Jasmine, Petals)

An Ada 2005 implementation of Fractal

The goal of FracAda is to reduce the development, deployment and maintenance costs of software systems. The Fractal component model has the following important features:

  • recursivity : components can be nested in composite components
  • reflectivity : full introspection and intercession capabilities.
  • component sharing : a given component instance can be included (or shared) by more than one component
  • binding components : a single abstraction for components connections that is called bindings
  • execution model agnostic
  • open : extra-functional services associated to a component can be customized