Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Interactive model exploration using meta types and reflection

: Gomes, Mateus
: Rombach, H. Dieter; Keuler, Thorsten

Kaiserslautern, 2012, XIII, 70 S.
Kaiserslautern, TU, Master Thesis, 2012
Master Thesis
Fraunhofer IESE ()
software architecture; software modeling; traceability

The development of software systems today is a great challenge due to constant requirement changes, high demands for quality and short deadlines. Software architectures come into play in this context as a means for dealing with this complexity, abstracting a real-world problem by breaking it down into separate parts, each addressing a different aspect and with a varying level of detail. This enables a better comprehension by all the stakeholders and facilitates changes and the reasoning about design alternatives. These parts, or views, cover both application structure and dynamic behavior, and this knowledge is captured in what is called a software model, which will serve as the basis for the implementation of the concrete product. The emergence of UML and its extensions, defining common syntax and semantics, together with a vast tool support, made modeling to be widely adopted as a practice in industry. Often, a software model contains a very large number of elements and connections and becomes a complex asset in itself; traceability is needed for understanding how these elements come together and interrelate with each other. The currently available modeling tools provide support for traces to be created as well as features for the users to explore them. However, these navigation operations can be too simplistic and restrictive at times, not being able to provide answers to all possible queries, hindering productivity. This works presents a new approach for understanding large-scale models, based on meta type investigation and reflection. In other words, the construction of a model overview based on what element and connection types it contains and how they are organized is used as a starting point for gaining insight into it. The reflection operation can then be applied on this visualization, transforming types into their concrete instances, in which further analysis can be performed. Based on an investigation of the current navigation possibilities and how they could be improved, other necessities have been elicited as well. These new concepts were the motivation for a tool called Model Explorer, which provides an interactive and comprehensive model exploration. The design of this tool is presented, and the efficiency gain obtained in the modeling activities has been validated through an experiment with software architects with experience in this area.