FermaT Transformation System

FermaT Transformation System

The FermaT Transformation System is a powerful industrial-strength program transformation system based on the WSL language.

FermaT has been used successfully in several major assembler to C migration projects: each project involved converting over half a million lines of hand-written assembler code to efficient and maintainable C code.

FermaT is available as free software under the GNU General Public License (GPL).

An example of a program transformation is Semantic Slicing. Consider the following WSL program:

total:= 0;i := 0;evens := 0;noevens := 0;odds := 0;noodds := 0;n := n0;WHILE i <= n DO evenflag := A [i] MOD 2; evenflag := 0; IF FALSE THEN evens := evens + A [i] ; noevens := noevens + 1 ELSE odds := odds + A [i] ; noodds := noodds + 1 FI; total := total + A [i] ; i := i + 1 OD;IF noevens <> 0 THEN meaneven := evens/noevens ELSE meaneven := 0 FI;IF noodds <> 0 THEN meanodd := odds/noodds ELSE meanodd := 0 FI;mean := total/(n+1);evendifference := ABS(meaneven - mean);odddifference := ABS(meanodd-mean)

Suppose we are interested in the final value of the variable evendifference. Save the program as a text file test-1.wsl and run the transformation:

dotrans test-1.wsl test-2.wsl Semantic_Slice data=evendifference

This generates the output file test-2.wsl:

evendifference := ABS(REDUCE("+", A [0..n0] ) / (n0 + 1))

See [http://www.cse.dmu.ac.uk/~mward/martin/papers/csmr2005-t.pdf this paper] for more information about semantic slicing.

[http://www.cse.dmu.ac.uk/~mward/fermat.html Download FermaT here]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Cartesian coordinate system — Illustration of a Cartesian coordinate plane. Four points are marked and labeled with their coordinates: (2, 3) in green, (−3, 1) in red, (−1.5, −2.5) in blue, and the origin (0, 0) in purple. A Cartesian coordinate system specifies each point… …   Wikipedia

  • Program refinement — Data transformation/Source transformation Concepts metadata · data mapping data transformation · model transf …   Wikipedia

  • mathematics — /math euh mat iks/, n. 1. (used with a sing. v.) the systematic treatment of magnitude, relationships between figures and forms, and relations between quantities expressed symbolically. 2. (used with a sing. or pl. v.) mathematical procedures,… …   Universalium

  • Projet:Mathématiques/Liste des articles de mathématiques — Cette page n est plus mise à jour depuis l arrêt de DumZiBoT. Pour demander sa remise en service, faire une requête sur WP:RBOT Cette page recense les articles relatifs aux mathématiques, qui sont liés aux portails de mathématiques, géométrie ou… …   Wikipédia en Français

  • Arithmetique modulaire — Arithmétique modulaire Couverture de l’édition originale des Recherches arithmétiques de Gauss, livre fondateur de l’arithmétique modulaire. En mathématiques et plus précisément en théorie algébrique des nombres, l’arithmétique modulaire est un… …   Wikipédia en Français

  • Arithmétique Modulaire — Couverture de l’édition originale des Recherches arithmétiques de Gauss, livre fondateur de l’arithmétique modulaire. En mathématiques et plus précisément en théorie algébrique des nombres, l’arithmétique modulaire est un ensemble de méthodes… …   Wikipédia en Français

  • Arithmétique modulaire — Couverture de l’édition originale des Recherches arithmétiques de Gauss, livre fondateur de l’arithmétique modulaire. En mathématiques et plus précisément en théorie algébrique des nombres, l’arithmétique modulaire est un ensemble de méthodes… …   Wikipédia en Français

  • Arithmétique modulaire (synthèse) — Arithmétique modulaire Couverture de l’édition originale des Recherches arithmétiques de Gauss, livre fondateur de l’arithmétique modulaire. En mathématiques et plus précisément en théorie algébrique des nombres, l’arithmétique modulaire est un… …   Wikipédia en Français

  • Arithmétique modulo — Arithmétique modulaire Couverture de l’édition originale des Recherches arithmétiques de Gauss, livre fondateur de l’arithmétique modulaire. En mathématiques et plus précisément en théorie algébrique des nombres, l’arithmétique modulaire est un… …   Wikipédia en Français

  • geometry — /jee om i tree/, n. 1. the branch of mathematics that deals with the deduction of the properties, measurement, and relationships of points, lines, angles, and figures in space from their defining conditions by means of certain assumed properties… …   Universalium

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”