Separation of concerns is at the core of software engineering. It refers to the ability to identify, encapsulate, and manipulate those parts of software that are relevant to a particular concept, goal, purpose, or issue. Object-orientation has significantly improved our ability to achieve good separation of concerns. Developers can now produce modular implementations of fairly complex systems. However, software complexity has since grown to tremendous proportions. Thus today we face even more challenging development tasks and the next generation of separation of concerns problems are emerging. Recently, many researchers have become aware of this fundamental problem and begun to gain some understanding about its underlying causes. They have proposed potential solutions based on, for example, new, crosscutting modularity mechanisms (aspects) and support for multiple dimensions of overlapping concerns. This workshop is intended to bring together those researchers and practitioners interested in pushing the frontier in this important area.
Tracks: Emerging Technologies; Languages; Reengineering and Refactoring