... | ... | @@ -18,7 +18,7 @@ The figure illustrates the Traffic Segment Information Collection sub-choreograp |
|
|
|
|
|
The technologies of the experimental units 2 were selected considering that the industrial partner was already familiar and skilled with them. As in the other use case, opting for an alternative would have required a training effort that could not be afforded by the partner because of budget constraints. Even if it had been possible to opt for an alternative, it would have been not easy to reach the same level of expertise, hence possibly compromising the validity of the experiment.
|
|
|
|
|
|
The experiment was conducted by two different development teams. The team involved in the experimental unit 1 was formed by two developers of the **CHOReVOLUTION** project. The other team, involved in the experimental units 2, was formed by the above two developers plus two other developers from a different project. The experimental tasks were distributed to the different developers to eliminate the potential bias of person-task links. All developers had equivalent professional skills and familiarity with the concerned technologies. All of them started performing their tasks out of already specified choreography for the UTC use case. Thus, the choreography specification phase was not part of the experiment.
|
|
|
The experiment was conducted by two different development teams. The team involved in the experimental unit 1 was formed by two developers of the **CHOReVOLUTION** project. The other team, involved in the experimental units 2, was formed by the above two developers plus two other developers from a different project. The experimental tasks were distributed to the different developers to eliminate the potential bias of person-task links. All developers had equivalent professional skills and familiarity with the concerned technologies. All of them started performing their tasks out of an already specified choreography for the UTC use case. Thus, the choreography specification phase was not part of the experiment.
|
|
|
|
|
|
**-Hypothesis 1-** We found that the **CHOReVOLUTION** approach significantly decreased the time required to implement the UTC use case.
|
|
|
|
... | ... | @@ -31,40 +31,40 @@ The table describes the activities performed within each experimental unit for a |
|
|
|
|
|
| **Tasks** | **Experimental unit 1 (ph)** | **Experimental unit 2 (ph)** |
|
|
|
| :--------: | :--------: | :--------: |
|
|
|
| Coordination logic | 40 | 200 |
|
|
|
| Prosumer services | 80 | 40 |
|
|
|
| **Total** | **120** | **240 (120 saved)** |
|
|
|
| Coordination logic | 0 | 120 |
|
|
|
| Prosumer services | 5 | 14 |
|
|
|
| **Total** | **5** | **134 (129 saved)** |
|
|
|
|
|
|
For each experimental unit, the table reports the ph employed to carry out the experimental tasks together with the total amounts of ph. In particular, the total amounts for the experimental unit 2 highlights in brackets the ph saved by using the **CHOReVOLUTION approach**. Specifically, the general-purpose enterprise-oriented approach took two times longer than the **CHOReVOLUTION approach**.
|
|
|
For each experimental unit, the table reports the ph employed to carry out the experimental tasks together with the total amounts of ph. In particular, the total amounts for the experimental unit 2 highlights in brackets the ph saved by using the **CHOReVOLUTION approach**. Specifically, the general-purpose enterprise-oriented approach took more than twenty-five times longer than the **CHOReVOLUTION approach**.
|
|
|
|
|
|
**-Hypothesis 2-** We found that the **CHOReVOLUTION** approach provides a meaningful decrease of the time required to maintain the UTC choreography-based system. In the maintenance phase, the role of the participant **DTS-HERE** is played by the routing service **GraphHopper**, hence leading to a service substitution. The selected service has a different interface with respected to the one required by the choreography specification. In this scenarios, the **CHOReVOLUTION** approach is able to automatically generate additional software entities called Adapters that handle interfaces mismatches. Thus, the experiment tasks considered in this phase, beyond the coordination logic and the prosumer services, include also the experimental task concerning the adaptation logic. In particular, the **CHOReVOLUTION** approach provides automatic support to the generation of the Adapters, whereas the other approach require a manual implementation.
|
|
|
|
|
|
| **Tasks** | **Experimental unit 1 (ph)** | **Experimental unit 2 (ph)** |
|
|
|
| :--------: | :--------: | :--------: |
|
|
|
| Coordination logic | 0,3 | 20 |
|
|
|
| Prosumer services | 0,2 | 4 |
|
|
|
| Adaptation logic | 8 | 40 |
|
|
|
| **Total** | **8,5** | **64 (55,5 saved)** |
|
|
|
| Coordination logic | 0 | 8 |
|
|
|
| Prosumer services | 0,2 | 1,5 |
|
|
|
| Adaptation logic | 0,5 | 3 |
|
|
|
| **Total** | **0,7** | **12,5 (11,8 saved)** |
|
|
|
|
|
|
For each experimental unit, the table reports the ph employed to carry out the experimental tasks together with the total amounts of ph. The total amounts for the experimental units 2 highlights in brackets the ph saved by using the **CHOReVOLUTION** approach. The general-purpose enterprise-oriented approach took more than seven times longer than the **CHOReVOLUTION** approach.
|
|
|
For each experimental unit, the table reports the ph employed to carry out the experimental tasks together with the total amounts of ph. The total amounts for the experimental units 2 highlights in brackets the ph saved by using the **CHOReVOLUTION** approach. The general-purpose enterprise-oriented approach took more than sixteen times longer than the **CHOReVOLUTION** approach.
|
|
|
|
|
|
**-Hypothesis 3-** We found that the **CHOReVOLUTION** approach significantly reduces the time required to evolve the UTC choreography-based system. In the evolution phase, the choreography task Segment Traffic Light Information between the participants **DTS-SEGMENT-TRAFFIC** and **DTS-TRAFFICLIGHT** is introduced into the Traffic Segment Information Collection sub-choreography. The service selected to play the role of the participant **DTS-TRAFFICLIGHT** has a different interface with respected to the one required by the choreography specification. As in the previous hypothesis, the **CHOReVOLUTION** approach handles this interfaces mismatch through the automatic generation of **CHOReVOLUTION** adapters. Instead, the other approach requires a manual implementation of the adaptation logic. Therefore, the experiment tasks considered in this phase, beyond the coordination logic and the prosumer services, include also the experimental task concerning the adaptation logic.
|
|
|
|
|
|
| **Tasks** | **Experimental unit 1 (ph)** | **Experimental unit 2 (ph)** |
|
|
|
| :--------: | :--------: | :--------: |
|
|
|
| Coordination logic | 6 | 18 |
|
|
|
| Prosumer services | 2 | 6 |
|
|
|
| Adaptation logic | 8 | 16 |
|
|
|
| **Total** | **16** | **40 (24 saved)** |
|
|
|
| Coordination logic | 0 | 20 |
|
|
|
| Prosumer services | 1 | 3,5 |
|
|
|
| Adaptation logic | 0,5 | 3 |
|
|
|
| **Total** | **1,5** | **26,5 (25 saved)** |
|
|
|
|
|
|
For each experimental unit, the table reports the ph employed to carry out the experimental tasks together with the total amounts of ph. The general-purpose enterprise-oriented approach took more than two times longer than the **CHOReVOLUTION** approach. In this phase a sub-choreography has been modified by adding a choreography task, whereas the other choreographies and sub-choreographies remained the same. This allowed all the three experimental units to leverage on code reuse. It is worth to note that time saving obtained in this phase is due to the high support to automation provided by the **CHOReVOLUTION** approach with respect to the other approach that require a manual implementation although reusing some code.
|
|
|
For each experimental unit, the table reports the ph employed to carry out the experimental tasks together with the total amounts of ph. The general-purpose enterprise-oriented approach took twenty-five times longer than the **CHOReVOLUTION** approach. In this phase a sub-choreography has been modified by adding a choreography task, whereas the other choreographies and sub-choreographies remained the same. This allowed all the three experimental units to leverage on code reuse. It is worth to note that time saving obtained in this phase is due to the high support to automation provided by the **CHOReVOLUTION** approach with respect to the other approach that require a manual implementation although reusing some code.
|
|
|
|
|
|
**Overall experiment results**
|
|
|
|
|
|
| **Experimental units** | **Implementation (ph)** | **Maintenance (ph)** | **Evolution (ph)** | **Time saving (ph)** |
|
|
|
| :--------: | :--------: | :--------: | :--------: | :--------: |
|
|
|
| 1 | 120 | 8,5 | 16 | - |
|
|
|
| 2 | 240 **(120 saved)** | 64 **(55,5 saved)** | 40 **(24 saved)** | **199,5** |
|
|
|
| 1 | 5 | 0,7 | 1,5 | - |
|
|
|
| 2 | 134 **(129 saved)** | 12,5 **(11,8 saved)** | 26,5 **(25 saved)** | **165,8** |
|
|
|
|
|
|
The table summarizes the results of the experiment on the UTC use case by distinguishing the implementation, maintenance, and evolution phases. In particular, the experimental units 2 highlights in bold the ph saved by using the **CHOReVOLUTION** approach.
|
|
|
It is worth to note that the **CHOReVOLUTION** approach results in a decrease of the required development time in all the considered phases. The last column contains the total amount of ph saved for each experimental unit. This result together with the amount of ph saved in each experimental unit reveals that the **CHOReVOLUTION** approach has great potential in developing choreography-based systems and the use case got a full benefit from it. |
|
|
\ No newline at end of file |