DynBindModelExamples: Difference between revisions
| Line 337: | Line 337: | ||
===Calculating <math>\beta_{S_3}</math>=== | ===Calculating <math>\beta_{S_3}</math>=== | ||
We will not show the complete construction of <math>\beta_{S_3}</math> but restrict our self to the most interesting | We will not show the complete construction of <math>\beta_{S_3}</math> but restrict our self to the most interesting parts. | ||
====Calculate <math>\beta_{S_3} \left( C_1 \mapsto C_3 \right)</math>==== | |||
According to the [[DynBindModel#The_naming_function|definition]]: | |||
<math> | <math> | ||
\beta_{S_3} \left( C_1 \mapsto C_3 \right) | \beta_{S_3} \left( C_1 \mapsto C_3 \right) | ||
| Line 348: | Line 349: | ||
</math> | </math> | ||
Where: | |||
<math> | <math> | ||
{\beta_{S_3}}^\prime \left( C_1 \mapsto C_3 \right) | {\beta_{S_3}}^\prime \left( C_1 \mapsto C_3 \right) | ||
| Line 363: | Line 365: | ||
\right) | \right) | ||
</math> | </math> | ||
And: | |||
<math> | |||
\theta_{S_3} \left( C_1 \mapsto C_3 \right) | |||
= | |||
\mbox {UNION} \ b \ \cdot \ \left( | |||
b \in \alpha_3 | |||
\ |\ | |||
\beta_{S_{2}} \left( C_1 \mapsto b \right) | |||
; | |||
\left( | |||
\mbox{id} \left( \mbox{ran} \left( \beta_{S_{2}} \left( C_1 \mapsto b \right) \right) \right) | |||
\ll | |||
\eta_{3,b} | |||
\right) | |||
\triangleright \sigma_{3,b} | |||
\right) | |||
</math> | |||
#<math> | #<math> | ||
\beta_{S_{2}} \left( C_1 \mapsto C_2 \right) | \beta_{S_{2}} \left( C_1 \mapsto C_2 \right) | ||
Revision as of 21:53, 9 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 .
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: .
This done we calculate:
So we get:
Calculating
We show the calculation of the different (four) parts of the function in separate sections:
Calculate
According to the definition:
Calculate
According to the definition:
Calculate
According to the definition:
Lets calculate the left part first:
And now the right part:
So we get:
Calculate
According to the definition:
Where:
And:
Here are the steps taken to compute the part:
So:
Putting the parts together:
We can know show the complete total function:
|
|
|
|
| |
|
| |
|
|
Calculating
We will not show the complete construction of but restrict our self to the most interesting parts.
Calculate
According to the definition:
Where:
And: