Interaction problems between heterogeneous appli- cations require consideration of the semantic issue of reliable composition. This problem has become significant and ubiquitous in distributed systems as the Internet rapidly grows as a mainstream service platform and requires increasing automatic coordination and cooperation between services at two ends. A feature must be able to adjust itself to work with other features or services - a highly relevant problem called feature interaction. In line with this, in this paper we propose a complexity controlling method that is suitable for distributed systems in which each feature has two concerns, namely a hard logic and a soft logic. The hard logic implements exactly the specification of a feature, while the soft logic deals with the adaptation aspects of a feature, i.e. resolving interaction problems and making features work together. A two level architecture, particularly designed for aspect oriented programming, is described with a meta level being used to describe interaction resolution, with features being at the base level. Through a case study of email systems, we explain the architecture and highlight the cause of resolution interaction problems and how this particular problem is solved.