Workshop on the Modeling and Analysis of Concerns in Software (MACS 2005)
Total Page:16
File Type:pdf, Size:1020Kb
Workshop on the Modeling and Analysis of Concerns in Software (MACS 2005) Martin P. Robillard McGill University, Montréal, Canada [email protected] Abstract This report is a summary of the Workshop on the Modeling and Workshop Organization Analysis of Concerns in Software (MACS 2005) held at the 27th We solicited short papers describing ongoing work, new ideas, or International Conference on Software Engineering (ICSE 2005). recent experience within the scope of the workshop. Each sub- The main goal of the workshop was to bring together researchers mission was reviewed by the organizers and by members of the and practitioners with interest in techniques for modeling and ana- program committee. We selected papers for presentation at the lyzing the realization of concerns in software systems to support workshop based on relevance to the workshop themes and poten- software development and evolution. The workshop consisted of tial to generate interesting discussions. In total we selected three an interactive combination of presentations and discussions. The papers for extended presentations and 13 papers for short interac- presentations and discussions were based on a collection of 16 tive presentations. The abstract of each paper appears in the short papers covering a wide range of approaches. printed edition of Software Engineering Notes, and the full text of each paper appears in the on-line edition. Keywords: Separation of concerns, software modeling, software analysis. Organization Committee Theme and Goals Martin Robillard, McGill University, Canada Peri Tarr, IBM T.J. Watson Research Center, USA Most software design, implementation, and modification activities are organized, explicitly or implicitly, around the idea of concerns. Program Committee Concerns that arise during software engineering activities typically Siobhán Clarke, Trinity College, Ireland include features, non-functional requirements, low-level mecha- Yvonne Coady, University of Victoria, Canada nism (e.g., caching), and many other concepts. Programming lan- David Coppit, The College of William and Mary, USA guage-supported constructs like modules, classes, and aspects William Griswold, University of California, San Diego, USA enable the encapsulation of certain concerns. Unfortunately, be- Rainer Koschke, University of Bremen, Germany cause of the limitations of programming languages, structural deg- Juri Memmert, JPM Design, Germany radation due to repeated changes, and the continual emergence of Gail Murphy, University of British Columbia, Canada new issues, the realization of concerns is often scattered and tan- Harold Ossher, IBM T.J. Watson Research Center, USA gled through the logical decomposition of numerous artifacts (re- Arie van Deursen, CWI and Delft University, The Netherlands quirements, design diagrams, source code, etc.). Studies and experience have shown that the scattering and tangling of con- Workshop Web Site cerns increases the difficulty of evolving software in a correct and http://www.cs.mcgill.ca/~martin/macs2005 cost-effective manner. The goal of the MACS 2005 workshop was to bring together re- Summary of the Presentations1 searchers and practitioners with interest in techniques for model- The workshop was divided in four sessions. Each session was ing and analyzing the realization of concerns in software systems intended to explore a specific theme and compare and contrast to support software development and evolution, and to explore the different approaches associated with or exemplifying the theme. potential for integration and interoperability in concern analysis and modeling techniques. Specific themes for the workshop in- Concern Modeling cluded: The first session grouped the presentation of different concern • Concern modeling and representation environments modeling approaches and focused on exploring the costs and • Automated and interactive concern location approaches benefits of modeling concerns at different levels of abstractions. • Concern mining techniques Just-In-Time Concern Modeling. Martin P. Robillard and Gail C. • Concern visualization and reverse engineering techniques and Murphy. After the workshop introduction, Martin Robillard briefly tools described the concept of just-in-time concern modeling and its • Advanced analysis and design techniques for separation of support in the FEAT tool. Just-in-time concern modeling refers to concerns the idea of modeling concerns only when developers first encoun- • Code transformation and refactoring techniques for separation ter them as part of a program modification task. of concerns 1 Some of the text in this section is edited from material (talks, papers, notes) provided by the workshop participants. Significant portions are indicated in quotes. Concern Modeling in the Concern Manipulation Environment. to be evolved along different dimensions”, enabling developers to William Harrison, Harold Ossher, Stanley Sutton Jr., Peri Tarr. choose the most appropriate dimension for a given task. Stan Sutton presented a brief tour of the Concern Modeling Envi- ronment (CME) and of the different perspectives on concern mod- Concern Mining eling offered by CME. The third session focused on the presentation and discussion of approaches to elicit or locate concerns in existing artifacts. A Model of Software Plans. Robert R. Painter, David Coppit. In the first extended presentation of the workshop, David Coppit Using Language Clues to Discover Crosscutting Concerns. David presented the idea of mitigating scattered concerns through soft- Shepherd, Tom Tourwé, Lori Pollock. For the third extended pres- ware plans. Software plans are an “approach for dealing with entation of the workshop, David Shepherd described an approach fine-grained concern tangling.” The editor-based approach sup- to automatically identify scattered concerns based on an analysis ports a document model that explicitly represents concerns in of the natural language clues found in source code. The proposed source code and dependencies between blocks of code. approach uses the technique of lexical chaining to locate sets of semantically related terms and their location in source code. Such Mapping Concern Space to Software Architecture: A Connector- sets have the potential to denote scattered concerns. Based Approach. Jing Liu, Robyn R. Lutz, Jeffrey Thompson. Jing Liu described an approach to model concerns in the architectural Locating Crosscutting Concerns in the Formal Specification of design, and illustrated the idea with a case study of a cardiac defi- Distributed Reactive Systems. José J. Pazos-Arias, Jorge García- brillator product line. Duque, Martín López-Nores, Bélén Barragáns-Martínez. José Pazos-Arias presented an approach for the “semi-automatic identi- Separating Architectural Concerns to Ease Program Understand- fication of crosscutting concerns at the requirements level.” The ing. Vladimir Jakobac, Nenad Medvidovic, Alexander Egyed. approach is intended to improve the incremental process of pro- Alex Egyed described and illustrated concern modeling at the ar- ducing specifications for a distributed system. chitectural level using the ARTISAn program understanding framework. Separation of Concerns in Software Product Line Engineering. Mazen Saleh and Hassan Gomaa. Mazen Saleh described an ap- Visualization and Transformation proach and tool supporting the separation of concerns in the con- The second session grouped presentations on the topics of concern text of software product lines. The approach supports “automatic visualization and concern modeling for the purpose of program customization of target applications” based on a feature model transformation. The goal of the session was to explore the trade- expressed through a feature description language. offs involved in obtaining intended modularity through visualiza- An Exploration of How Comments are Used for Marking Related tion versus transformation. Code Fragments. Annie T.T. Ying, James L. Wright, Steven ActiveAspect: Presenting Crosscutting Structure. Wesley Coelho, Abrams. Annie Ying reported on an empirical study of comments Gail C. Murphy. In the second extended presentation of the work- in source code. The main observation of the study is that “pro- shop, Wesley Coelho described a technique for presenting cross- grammers mark related code fragments by comments” that either cutting structure and a tool, ActiveAspect, that supports the reference related code explicitly or that are similar to other com- technique. With ActiveAspect, “crosscutting structure can be pre- ments located near related code. The conclusion of the study sup- sented in a diagram view without excessive complexity using a ports the intuition that comments contain valuable clues that can combination of user interaction and automated abstraction tech- be used to identify and understand scattered concerns. niques.” Concern Analysis Concern Management for Constructing Model Compilers. Nao- The final session of the workshop focused on concern analysis yasu Ubayashi, Tetsuo Tamai. Naoyasu Ubayashi described As- techniques. pectM, a modeling language designed for the management of modeling-level aspects. AspectM improves the separation of con- An Approach to Aspect Refactoring Based on Crosscutting Con- cerns pertaining to model transformations in model-driven archi- cern Types. Marius Marin, Leon Moonen, Arie van Deursen. tecture-based development. Marius Marin “argued for the importance of organizing generic crosscutting concerns by distinctive properties”. He proposed