The paper presents a new formal way of modeling and designing reconfigurable
robots, in which case the robots are allowed to reconfigure not only
structurally but also functionally. We call such kind of robots
"self-evolvable", which have the potential to be more flexible to be used in a
wider range of tasks, in a wider range of environments, and with a wider range
of users. To accommodate such a concept, i.e., allowing a self-evovable robot
to be configured and reconfigured, we present a series of formal constructs,
e.g., structural reconfigurable grammar and functional reconfigurable grammar.
Furthermore, we present a correct-by-construction strategy, which, given the
description of a workspace, the formula specifying a task, and a set of
available modules, is capable of constructing during the design phase a robot
that is guaranteed to perform the task satisfactorily. We use a planar
multi-link manipulator as an example throughout the paper to demonstrate the
proposed modeling and designing procedures.