Concern Exploration and Visualization from Architecture to Code and Back

Concern Exploration and Visualization from Architecture to Code and Back (Demo, Poster)
Student: Eugen Nistor, UCI/ISR, Ravi Chodavarapu, UCI/ISR
Advisor: André van der Hoek, UCI/ISR
Abstract: Separation of concerns is one of the leading principles in software engineering. During development, various concerns will become scattered and tangled throughout the implementation. At the same time, these concerns span the entire life-cycle, and we believe that system models at all levels of abstraction should include a representation of concerns. Our project supports visualization of concerns in two such abstractions, software architecture and code. Being able to see where different concerns are located in both architecture and code is helpful during system evolution by giving a better understanding of the scope and effects of a proposed change. At the architectural level such concerns are shown as awareness or progress indicators, while their actual refinements will be highlighted in the code editor. Our tools are Eclipse plug-ins and we plan to use the tight integration with the existing code development plug-ins in Eclipse to support concern-based development, a round-trip, parallel development of both architecture and code driven by developing cycles that are focused on one concern at a time. This is different from the current practice of first developing a complete architecture, using it as a blueprint for the code, and then throwing it away after the code has been developed, as it aims to keep an accurate architectural model of the system that is consistent with the code at all times.
Bio: Eugen Nistor is a Ph.D. candidate in computer science at the University of California, Irvine, working with Dr. Andre van der Hoek. His research interests include domain-based modeling, software design and concern-based development.
Bio: Ravi Chodavarapu is a third-year undergraduate Information and Computer Sciences major, expected to graduate with a B.S. in June of 2006. His current research is in software tools, and particularly tools that improve collaboration and visualization of software models.