A Domain Specific Language to Support the Definition of Transformation Rules for Software Process Tailoring
Bastarrica-Piñeyro, María Cecilia
Ochoa-DeLorenzi, Sergio Fabián
UNIVERSIDAD DE CHILE
Software processes tailoring is the activity of adapting the organizational software process to the needs of particular projects. Model-driven engineering (MDE) has been applied with this purpose, using models for formalizing the software process and the project context, and model transformations for tailoring these processes. Even though the MDE-based tailoring strategy has proved to be technically feasible, its usage in practice requires knowledge about how to adapt the software process and how to build models and transformations. There are some proposals for automatically generating transformations as a way to reduce the complexity of tailoring the organizational software processes. These proposals usually generate transformation only partially, and then they need to be completed manually. These approaches are not suitable in software process tailoring because they do not completely overcome the technical adoption difficulties. Trying to deal with these challenges, we propose a complete automatic transformation generation approach that addresses both, the formality required by MDE and the usability needed by the software process engineers. To that end, we specified tailoring rules using a domain-specific language (DSL). Moreover, we define a a higher-order transformation (HOT) that takes the specified tailoring rules as input and automatically generates the required process tailoring transformation. Both, the DSL and the HOT are generic, and therefore they can be reused across organizations. In order to improve the usability, we developed an integrated tool called A Tool-set for Automatically Generating Tailoring Transformations (ATAGeTT) that incorporates both contributions. ATAGeTT has been applied in an exploratory case study in two small software companies for evaluating its capability and correctness of tailoring the organizational software process of these companies. The obtained results show the software process engineers were able to specify all tailoring rules that were required in both companies using ATAGeTT. Then, we conducted an explanatory case study in other software company for validating usability of the ATAGeTT and expressiveness of the proposed decision language. The software process engineers were able to specify all tailoring rules in simple manner, and the project manager participating in this study was able to execute software process tailoring in automatic way. The obtained results show the ATAGeTT is easy to learn, usable and useful for potential users. Although the results are still not enough the make strong conclusions, they are highly positive and consistent; therefore, we expect this proposal can help improve this activity in many software companies, particularly in small and medium-sized organizations that are usually more limited to perform software process tailoring.