DynBindModelExamples: Difference between revisions
| Line 73: | Line 73: | ||
==The naming function== | ==The naming function== | ||
We proceed by calculating the naming function. According to its definition we have to do that incrementaly. Meaning that we first calculate <math>\beta_{S_1}</math> then <math>\beta_{S_2}</math> and finally <math>\beta_{S_3}</math>. | We proceed by calculating the naming function. According to its definition we have to do that incrementaly. Meaning that we first calculate <math>\beta_{S_1}</math> then <math>\beta_{S_2}</math> and finally <math>\beta_{S_3}</math>. | ||
===Some operators=== | |||
We will give some rather informal definitions for the set-theoretic operators used here. | |||
====Operator: identity ==== | |||
<math> | |||
\mbox{id}\left( \left\{ e_1, \ldots, e_n \right\} \right)\ = \left\{ e_1 \mapsto e_1, \ldots, e_n \mapsto e_n \right\} | |||
</math> | |||
====Operator: domain==== | |||
<math> | |||
\mbox{dom}\left(\left\{ l_1 \mapsto r_1, \ldots, l_n \mapsto r_n \right\}\right) = \left\{ l_1, \ldots, l_n \right\} | |||
</math> | |||
====Operator: range==== | |||
<math> | |||
\mbox{ran}\left(\left\{ l_1 \mapsto r_1, \ldots, l_n \mapsto r_n \right\}\right) = \left\{ r_1, \ldots, r_n \right\} | |||
</math> | |||
====Operator <math>\ll</math>(override)==== | |||
<math>E \mapsto F \in p \ll q</math> | |||
===Calculating <math>\beta_{S_1}</math>=== | ===Calculating <math>\beta_{S_1}</math>=== | ||
| Line 91: | Line 112: | ||
<math>\mbox{id} \left( \mbox{dom} \left( \tau_1 \right) \right)</math>. To do so we give a little reminder on the identity and domain operators: | <math>\mbox{id} \left( \mbox{dom} \left( \tau_1 \right) \right)</math>. To do so we give a little reminder on the identity and domain operators: | ||
This done we calculate: | This done we calculate: | ||
| Line 156: | Line 171: | ||
<math>\left\{ 1, 2, 3, 4, 9\right\}</math> | <math>\left\{ 1, 2, 3, 4, 9\right\}</math> | ||
We now calculate: | We now calculate: | ||
Revision as of 23:08, 6 October 2006
This page shows
Example 1
The system
In this example we are studying a symple system with three classes that contains both renaming and selects:
class C1 feature f1 do ... end g1 do ... end end |
class C2 inherit B rename f1 as f2, g1 as g2 redefine f2, g2 end feature f2 do ... end g2 do ... end end |
class C3 inherit C2 select f1 end C1 redefine f1, g1 select g1 end feature f1 do ... end g1 do ... end end |
This system is defined by:
The naming function
We proceed by calculating the naming function. According to its definition we have to do that incrementaly. Meaning that we first calculate then and finally .
Some operators
We will give some rather informal definitions for the set-theoretic operators used here.
Operator: identity
Operator: domain
Operator: range
Operator (override)
Calculating
Since contains only one class it is sufficient to define . According to the definition:
We can forget about the right part of the union since has no base classes. So we need to calculate: . To do so we give a little reminder on the identity and domain operators:
This done we calculate:
So we get:
Calculating
Lets calculate the easy part first:
The next least difficult thing we can calculate is:
For this we give a reminder on the union and override operator:
- The union operator
is equivalent to:
As an example:
is equivalent to:
We now calculate: