The second workshop on multi-dimensional separation of concerns in software engineering will occur at ICSE 2000 on Tuesday, June 6, 2000.
Separation of concerns is at the core of software engineering.
In its most general form, it refers to the ability to identify, encapsulate, and manipulate those parts of software that are relevant to a particular concept, goal, or purpose. Concerns are the primary means of organizing and decomposing software into smaller, more manageable and comprehensible parts. Many kinds of concerns may be relevant to different developers in different roles, to achieving different goals, or at different stages of the software lifecycle. For example, the prevalent concern in object-oriented software engineering is the class, which encapsulates data concerns. Feature concerns, like printing, persistence, and display capabilities, are also common, as are concerns like aspects, roles, variants, and configurations.