The primary responsibility of an algorithm. A concern has a purpose which it must fulfill during the life of a program. In most cases, people only regard the core concern when looking at a program's functionality. However, there usually exists additional, required algorithms (" cross-cutting concerns") that support underlying functionality.