Mail Archive Home | fractal-commits List | Febuary 2007 Index
| <-- Date Index --> | <-- Thread Index --> |
Date: Tuesday, February 20, 2007 @ 15:59:55
Author: pcdavid
Path: /cvsroot/fractal/web/xml/root/fscript
Modified: index.xml
* Added example snippet of both FPath and FScript on the main FScript page.
* Added a list of current users of FPath and/or FScript on the main FScript
page.
-----------+
index.xml | 84 ++++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 68 insertions(+), 16 deletions(-)
Index: web/xml/root/fscript/index.xml
diff -u web/xml/root/fscript/index.xml:1.1 web/xml/root/fscript/index.xml:1.2
--- web/xml/root/fscript/index.xml:1.1 Sun Feb 11 17:48:26 2007
+++ web/xml/root/fscript/index.xml Tue Feb 20 15:59:55 2007
@@ -11,21 +11,74 @@
<s1 name="FPath and FScript">
<p><strong>FPath</strong> is a notation inspired
- by <a href="http://www.w3.org/TR/xpath">XPath</a> which makes it easy
to
- navigate inside Fractal architectures to discover its strucutre or
find
- elements (components or interfaces) which match certain criterions.
- Compared to the direct use of the Fractal PIs, a simple FPath query
can
- often replace dozens of lines of Java code.</p>
+ by <a href="http://www.w3.org/TR/xpath">XPath</a> which makes it easy
to navigate
+ inside Fractal architectures to discover its strucutre or find
elements
+ (components or interfaces) which match certain criterions. Compared
to the direct
+ use of the Fractal PIs, a simple FPath query can often replace dozens
of lines of
+ Java code. For example, the following query finds all the shared
components in an
+ application:</p>
- <p><strong>FScript</strong> is a scripting language dedicated to
Fractal
- components architectural reconfigurations. It builds upon FPath but
adds
- the possibility to define reconfiguration scripts to modify the
- architecture of a Fractal application. Like FPath, FScript is much
more
- concise the direct API usage. In addition, the FScript interpreter
- guarantees that the reconfiguration will finish and is atomic: either
it
- is completely and correctly applied, or not at all (in case of an
- error).</p>
+ <source>$root/descendant-or-self::*[count(parent::*) > 1]</source>
+ <p><strong>FScript</strong> is a scripting language dedicated to
Fractal
+ components architectural reconfigurations. It builds upon FPath but
adds the
+ possibility to define reconfiguration scripts to modify the
architecture of a
+ Fractal application. Like FPath, FScript is much more concise the
direct API
+ usage. In addition, the FScript interpreter guarantees that the
reconfiguration
+ will finish and is atomic: either it is completely and correctly
applied, or not
+ at all (in case of an error).</p>
+
+ <p>The following FScript code snippet defines a reconfiguration action
which
+ enables a cache component in a running Comanche HTTP server:</p>
+
+ <source><![CDATA[
+action enable-cache(handler) = {
+ dispatcher := $handler/child::rd;
+ if (not(cache-enabled($dispatcher))) then {
+ unbind($dispatcher/interface::h0);
+ file-handler := $handler/child::frh;
+ cache := get-or-create-cache($handler);
+ bind($dispatcher/interface::h0, $cache/interface::request-handler);
+ bind($cache/interface::handler, $file-handler/interface::rh);
+ start($cache);
+ }
+}]]></source>
+
+ <subtitle anchor="users">Users</subtitle>
+
+ <p>Current users of FPath and/or FScript include:</p>
+ <ul>
+ <li>The <a
href="http://picolibre.int-evry.fr/projects/cosmos">COSMOS</a>
+ (COntext entitieS coMpositiOn and Sharing) project is a framework
for managing
+ context information which introduces the notions of a context node
and a context
+ processor which can be composed and assembled to form complex
policies for
+ handling context information. The COSMOS framework is implemented
on top of the
+ Fractal component framework with the DREAM component library. FPath
is used in
+ COSMOS to capture sets of references to attributes or components
that follow
+ selection criteria and simplify the configuration process.</li>
+ <li><a href="http://heim.ifi.uio.no/rouvoy/">Romain Rouvoy</a> has
written an
+ independent implementation of FPath (soon to be released) as part
of his thesis.
+ He uses FPath to express structural invariants on Fractal
architectures, using
+ an extension of the Fractal ADL. These invariants can then be
checked either at
+ deployment time or after a dynamic reconfiguration to validate the
+ architecture.</li>
+ <li><a href="http://www2.lifl.fr/~pessemie/">Nicolas Pessemier</a>
uses FPath in
+ his <a href="http://fac.gforge.inria.fr/">FAC</a> (Fractal Aspect
Component)
+ system. FAC is an extension of Fractal to unify Component-Based
Software
+ Development with Aspect-Oriented Software Development. FPath
requests are used
+ to find matching join points of a give pointcut. In FAC, a pointcut
select
+ component operations, which are represented as nodes in FPath.
FScript is used
+ to perform the reconfiguration operations needed when weaving an
aspect
+ component in FAC.</li>
+ <li><a href="mailto:Marc.Leger@xxxxxxxxxxxxxxxxxx">Marc Léger</a> is
working on
+ improving fault-tolerance in Fractal, especially in the presence of
dynamic
+ reconfigurations. He uses FPath to specify constraints and
invariants of Fractal
+ reconfiguration operations and to select the elements to lock when
concurrent
+ reconfigurations are in effect. He also plans to use FScript as a
front-end to
+ his fault-tolerant version of Fractal, as stronger guarantees can
be offered
+ when reconfigurations are expressed in FScript rather than in
Java.</li>
+ </ul>
+
<subtitle anchor="download">Download</subtitle>
<p>There is no released version of FScript yet, but you can get
@@ -41,9 +94,8 @@
<subtitle>Mailing list</subtitle>
<p>Questions, comments, ideas, etc. related to FPath and FScript
- can be posted on
- the <a href="http://www.objectweb.org/wws/info/fractal">Fractal
mailing
- list</a>.</p>
+ can be posted on the <a
href="http://www.objectweb.org/wws/info/fractal">Fractal
+ mailing list</a>.</p>
</s1>
| <-- Date Index --> | <-- Thread Index --> |
Powered by MHonArc.
Copyright © 2006-2007, OW2 Consortium | contact | webmaster.