Sequence Diagrams Integration via Typed Graphs: Theory and Implementation
It is widely accepted within the software engineering community that the support for integration is necessary for requirement models. Several methodologies, such as the role-based software development, that have appeared in the literature are relying on some kind of integration. However, current integration techniques and their tools support are insufficient. In this research, we discuss our solution to the problem. More precisely, we present a general integration approach for scenario-based models, particularly for UML Sequence Diagrams, based on the colimit construction known from category theory. In our approach, Sequence Diagrams are represented by SD-graphs, a special kind of typed graphs. The merge algorithm for SD-graphs is an extension of existing merge operations on sets and graphs. On the one hand, the merge algorithm ensures traceability and guarantees key theoretical properties (e.g., “everything is represented and nothing extra is acquired” during the merge). On the other hand, our formalization of Sequence Diagrams as SD-graphs retains the graphical nature of Sequence Diagrams, yet is amenable to algebraic manipulations. Another important property of our process is that our approach is applicable to other kinds of models as long as they can be represented by typed graphs. A prototype Sequence Diagram integration tool following the approach has been implemented. The tool is not only a fully functional integration tool, but also served as a test bed for our theory and provided feedback for our theoretical framework. To support the discovery and specification of model relationships, we also present a list of high-level merge patterns in this dissertation. We believe our theory and tool are beneficial to both academia and industry, as the initial evaluation has shown that the ideas presented in this dissertation represent promising steps towards the more rigorous management of requirement models. We also present an approach connecting model transformation with source transformation and allowing an existing source transformation language (TXL) to be used for model transformation. Our approach leverages grammar generators to ease the task of creating model transformations and inherits many of the strengths of the underlying transformation language (e.g., efficiency and maturity).