Complex systems are intrinsically expensive to develop because several
concerns must be addressed simultaneously. Once the development phase is
over, these systems are often hard to reuse and evolve because their
concerns are intertwined and making apparently small changes force
programmers to modify many parts. Moreover, legacy systems are difficult
to evolve due to additional problems, including: lack of a well defined
architecture, use of several programming languages and paradigms, etc.

Separation of concerns (SoC) techniques such as computational
reflection, aspect-oriented programming and
subject-oriented programming have been successfully employed to
produce systems whose concerns are well separated, thereby
facilitating reuse and evolution of system components or systems as a
whole. However, a criticism of techniques such as computational
reflection is that they may bring about degraded performance compared
with conventional software engineering techniques. Besides, it is
difficult to precisely evaluate the degree of flexibility for reuse
and evolution of systems provided by the adoption of these SoC
techniques. Other serious issues come to mind, such as: is the use of
these techniques double-edged? Can these systems suffer a ripple
effect, whereby a small change in some part has unexpected and
potentially dangerous effects on the whole?

Goal

The Programming for Separation of
Concerns (PSC) track at the 2011 Symposium on Applied Computing (SAC)
aims to bring together researchers to share experiences in using SoC
techniques, and explore the practical problems of existing tools,
environments, etc. The track will address questions like: Can
performance degradation be limited? Are unexpected changes dealt with
by reflective or aspect-oriented systems? Is there any experience of
long term evolution that shows a higher degree of flexibility of
systems developed with such techniques? How such techniques cope with
architectural erosion? Are these techniques helpful to deal with
evolution of legacy systems?

Authors are invited to submit original
papers. Submissions are encouraged, but not limited, to the
following topics:

Software architectures

Configuration management systems

Software reuse and evolution

Performance issues for metalevel and aspect oriented systems

Software engineering tools

Consistency, integrity and security

Generative approaches

Experiences in using reflection, composition filters, aspect- and
subject- orientation

Evolution of legacy systems

Reflective and aspect oriented middleware for distributed
systems

Modelling of SoC techniques to allow predictable outcomes from their use

Original papers from the above mentioned or other related areas will be
considered. Only full papers about original and unpublished
research are sought. Parallel submission to other conferences or
tracks is not acceptable.

Papers can be submitted in electronic format via the
SAC website
within 31 August 2010.
Please make sure that the authors name and affiliation do not
appear on the submitted paper.

Peer groups with expertise in the track focus area will blindly review
submissions to the track.
At least one author of the accepted paper should register and
participate in the PSC track. Accepted papers will be published in
the annual conference ACM proceedings.

The camera-ready version of the accepted paper should be prepared
using the ACM format (guidelines will be given on the SAC website).
The maximum number of pages allowed for the final papers is six (6),
with the option, at additional cost, to add two (2) more pages.

A set of papers submitted to the PSC track and not accepted as full
papers will be selected as poster papers and published in the ACM
proceedings as 2-page papers.

A selected number of the best
papers accepted at the PSC track will be invited for expansion and for
a possible publication at a special issue of the Elsevier Journal
Computer Languages, Systems & Structures (Elsevier
Journal website).