Content deleted Content added
No edit summary |
m More sources needed |
||
(42 intermediate revisions by 22 users not shown) | |||
Line 1:
{{Multiple issues|
[[Image:Fractal_model.jpg|thumb|250px|Lomboz environment]]▼
{{More sources needed|date=May 2017}}
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 hosted and developed by the [[ObjectWeb]] consortium. It is distributed under [[LGPL]].▼
{{External links|date=February 2024}}
{{Orphan|date=June 2024}}
}}
▲<!-- Unsourced image removed: [[Image:Fractal_model.jpg|thumb|250px|
▲Fractal is a modular and extensible [[component model]] that can be used with various [[programming
The goal of Fractal is to reduce the development, deployment and maintenance costs of software systems in general, and of [[OW2]] projects in particular. The Fractal model already uses some well known design patterns, such as [[Unit testing#Separation of interface from implementation|separation of interface and implementation]] and, more generally, [[separation of concerns]], in order to achieve this goal.<ref>{{Cite journal |author1=Bruneton, Eric |author2=Coupaye, Thierry |author3=Leclercq, Matthieu |author4=Quéma, Vivien |author5=Stefani, Jean-Bernard |year=2006 |title=The FRACTAL component model and its support in Java |journal=Software: Practice and Experience |volume=36 |issue=11–12 |pages=1257–1284 |doi=10.1002/spe.767}}</ref> There is also ongoing research work to get even closer to this goal.
Fractal is hosted and developed by the [[OW2]] consortium. It is distributed under the [[LGPL]] [[open-source license]].
==Sub Projects==
The Fractal Project is made of four sub projects:<ref>{{Cite journal |author1=Blair, Gordon |author2=Coupaye, Thierry |author3=Stefani, Jean-Bernard |year=2009 |title=Component-based architecture: the Fractal initiative |journal=Annals of Telecommunications - Annales des Télécommunications |volume=64 |issue=1 |pages=1–4 |doi=10.1007/s12243-009-0086-1}}</ref>
* The Component Model sub project deals with the definition of the Fractal component model specification. The main characteristics of this model are recursivity (components can be nested in composite components - hence the "Fractal" name) and reflexivity (components have full introspection and intercession capabilities). The Fractal model is also language independent, and fully modular and extensible.
* The Implementations sub project deals with the implementation of Fractal component platforms, which allow the creation, configuration and reconfiguration of Fractal components. Julia, the reference implementation, is
* The Component
* The Tools sub project deals with the implementation of Fractal
==Implementations==
Besides Julia [http://fractal.objectweb.org/tutorials/julia/index.html] {{Webarchive|url=https://web.archive.org/web/20061010135334/http://fractal.objectweb.org/tutorials/julia/index.html |date=2006-10-10 }}, the reference implementation in Java maintained in the [[ObjectWeb]] Fractal project, there are several other implementations of the Fractal component model in other projects, including non [[ObjectWeb]] projects:
* AOKell [http://fractal.objectweb.org/tutorials/aokell/index.html] {{Webarchive|url=https://web.archive.org/web/20061014190632/http://fractal.objectweb.org/tutorials/aokell/index.html |date=2006-10-14 }} is a Java implementation similar to Julia, but based on AspectJ instead of mixins. It can execute the same applications as Julia, including Fractal RMI, Fractal ADL, Fractal Explorer.
* FracTalk is a SmallTalk implementation of the Fractal component model.
* FractNet [https://web.archive.org/web/20060914124642/http://www-adele.imag.fr/fractnet/] is a [[Microsoft .NET Framework|.Net]] implementation of the Fractal component model.
* Plasma is a C++ implementation of Fractal, geared at multimedia applications.
* [[ProActive]] [http://proactive.inria.fr] is a distributed and asynchronous implementation of Fractal geared at Grid Computing.
* [[ObjectWeb Think|Think]] is a C implementation of Fractal geared at operating system development.
* Cecilia [http://fractal.ow2.org/cecilia-site/current/] is another C implementation of Fractal, [[Fork (software development)|forked]] from Think v3.
==Tools==
Line 26 ⟶ 34:
The currently available Fractal tools are listed below:
*'''Fractal ADL''' [http://fractal.objectweb.org/tutorials/adl/index.html] {{Webarchive|url=https://web.archive.org/web/20061010135348/http://fractal.objectweb.org/tutorials/adl/index.html |date=2006-10-10 }} parser is a tool made of several Fractal components that can describe and parse Fractal ADL architecture definitions, and instantiate the corresponding components.
<!-- Unsourced image removed: [[Image:fractal_gui.png|thumb|250px|Fractal GUI]] -->
* '''Fractal GUI''' editor is a tool made of several Fractal components that provides a graphical tool to design and edit Fractal component configurations.
<!-- Unsourced image removed: [[Image:fractal_explorer.png|thumb|250px|Fractal explorer]] -->
* '''
* '''Fraclet''' [http://fractal.objectweb.org/tutorials/fraclet/index.html] {{Webarchive|url=https://web.archive.org/web/20061017094454/http://fractal.objectweb.org/tutorials/fraclet/index.html |date=2006-10-17 }} provides an annotation-based programming model to leverage the development of Fractal components.
==References==
{{Reflist}}
== External links ==
* [http://www.objectweb.org/ Objectweb consortium homepage]▼
* [http://forge.objectweb.org/cvs/?group_id=22 Download source] {{Webarchive|url=https://web.archive.org/web/20061014200454/http://forge.objectweb.org/cvs/?group_id=22 |date=2006-10-14 }}
* [http://fractal.objectweb.org/download/index.html Binary version]
▲* [https://web.archive.org/web/20071225222852/http://www.objectweb.org/ Objectweb consortium homepage]
[[Category:Java enterprise platform]]
|