posted on 2017-02-07, 15:35authored byJim BuckleyJim Buckley, Jacek Rosik, Sebastian Herold, Asanka Wasala, Goetz Botterweck, Chris Exton
Reflexion Modeling has been proposed as a means of creating and refining a functional model of software systems at the architectural level. Such a model allows developers to maintain a consistent understanding of the relationships between different functionalities of their system as it evolves, and allows them to analyze the system at a functional-chunk level rather than at the traditional, structural levels more typically presented by IDEs.
This paper describes a prototype tool built to enable this approach. The tool assists developers in moving to this functional perspective by supporting them as they first attempt to locate specific functionalities in the code. This support is based on design principles identified by observing experienced software developers in-vivo, as they performed this task manually. After the code associated with several such functionalities is located in the code-base, a graphical view allows the developer to assess the source code dependencies between these features and between these features and the rest of the system. This helps the developer understand the inter-functional interfaces, and the representation can be reviewed over time, as features are added and removed, to ensure on-going consistency between the architect’s perspective of the features in the system and the code-base.
History
Publication
ECSAW 2016: Proceedings of the 2016 European Conference on Software Architecture Workshops;article no: 14