PEI environment
The mathematical basis of the language PEI leads to an elegant implementation in CENTAUR
of an environment whose purpose is to transform parallel programs.
The formal calculus on functions (for example: composition, conversion, simplification, ...)
is currently defined by using MAPLE.
The user is given the ability to type check an initial statement.
Type checking associates a type with any PEI expression.
A statement can then be refined by applying syntactic rules.
These rules are based on PEI operations properties.
Here are some examples which concern geometrical reduction:
Y = g1 o g2 ;> X -> Y = g1 ;> (g2 ;> X)
Y = g1 # g2 ;> X -> Y = (g1 ;> X) /&/ (g2 ;> X)
Y = g^-1 ;> X -> Y = g <| X
The PEI menubar contains the following specific menus:
- Functions : groups all transformations on functions, such as simplification,
rewriting or recursive definition.
- Data fields : allows to apply a refinement rule to the selected data field
expression.
- Equations : groups all transformations on equations such as
application of a conversible function on the two hand sides.
- System : groups all transformations on the whole system such as change of basis,
substitution or definition of a new data field.
- Edition : contains the nice Undo and Redo buttons !
Type checking can be performed via a pop-up menu.
An example of PEI session (sum of n numbers).