... | ... | @@ -16,9 +16,16 @@ The experiment conducted for the SMT use case employed the following experimenta |
|
|
|
|
|
The technologies of the experimental units 2 and 3 were selected considering that the industrial partner was already familiar and skilled with them. It is clear that there exist many other equivalently powerful alternatives for units 2 and 3. However, opting for an alternative would have required a training effort that could not be afforded by the partner because of budget constraints. In any case, apart from budget constraints and assuming the possibility to opt for an alternative, we can argue that, whatever (reasonably) long the training could last, it would be 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 and 3, was formed by the above two developers plus two other developers from a different project. The experimental tasks were distributed to the different developers. This helped to eliminate the potential bias of person-task links. All developers had equivalent professional skills and familiarity with the concerned technologies.
|
|
|
|
|
|
**Hypothesis 1 --** We found that the **CHOReVOLUTION** approach significantly decreased the time required to implement the STM use case.
|
|
|
|
|
|
| **Tasks** | **Experimental unit 1 (ph)** | **Experimental unit 2 (ph)** | **Experimental unit 3 (ph)** |
|
|
|
| :--------: | :--------: | :--------: | :--------: |
|
|
|
| Coordination logic | The developer models the choreography by means of a dedicated GUI, and specifies the type of the messages through the XML schema notation. After the modeling phase, which is manual, the code realizing the distributed coordination logic is automatically generated into a set of CDs, without requiring any manual intervention. | Concurrency and coordination issue must be solved manually by coding the specified parallel and alternative flows. In particular, the .Net library TPL (Task Parallel Library) provides utilities to execute parallel flows. By using this library, parallel executions are implemented as multi-thread processes and the developer must take care of coding their correct synchronization. Moreover, several lines of code must be written for correctly handling the execution of choreography tasks according to sequential flows, alternative branches, and joining points. | The coordination logic is realized by customizing the e-miXer internal workflow manager. This requires to manually implement e-miXer data processing layer modules that are capable of handling parallel and alternative branches. |
|
|
|
| Prosumer services | After the choreography modeling phase, the skeleton code of the prosumer services is automatically generated. Thus, developers are required to only fill in the blanks of highlighted and partially ready pieces of code. | The prosumer services are manually implemented. In particular, for each choreography task of a specific choreography participant, a C\# method is coded. It implements the logic needed to manipulate the messages received and to build the messages to be sent. | Prosumers services are realized through customization and manual coding of e-miXer Adapters. |
|
|
|
|
|
|
The table describes the activities performed within each experimental unit for accomplishing the experimental tasks. It is worth noticing that the **CHOReVOLUTION** approach provides a higher support to automation with respect to the other two approaches, which require a manual implementation or a manual customization.
|
|
|
|
|
|
**Results**
|
|
|
|
... | ... | |