Selecting frameworks and documenting the rationale for the choice is an essential task for system architects. Different framework selection approaches have been proposed. However, none of these connects frameworks to qualities based on their implemented patterns and tactics. In this paper, we propose a way to compare automatically the quality attributes of frameworks by extracting the patterns and tactics from a framework's source code and documenting them to connect frameworks to requirements upon which a selection can be made. We use a tool called Archie (a tool used to extract tactics from a Java-based system's code) to extract the patterns/tactics from the implementation code of frameworks. We then document and model these patterns/tactics and their impact on qualities using the Goal-oriented Requirements Language (GRL). The satisfaction level of the quality requirements integrated with other criteria such as the preferences of an architect provide architects with a tool for comparing different frameworks and documenting their rationale for choosing a framework. As a validation of the approach, we apply it to realistic case studies with promising results.

, , , , ,
32nd International Conference on Software Engineering and Knowledge Engineering, SEKE 2020
Department of Systems and Computer Engineering

Milhem, H. (Hind), Weiss, M, & Somé, S.S. (Stephane S.). (2020). Modeling and selecting frameworks in terms of patterns, tactics, and system qualities. In Proceedings of the International Conference on Software Engineering and Knowledge Engineering, SEKE (pp. 493–500). doi:10.18293/SEKE2020-049