... En los últimos años, en el campo de la investigación se han desarrollado mecanismos avanzados de modularización que ayudan a superar una serie de problemas asociados con la inadecuada SoC. Por ejemplo, se pueden mencionar, la programación adaptativa (Lieberherr, 1996), componentes plug-and-play adaptativos (Mezini y Lieberherr, 1998), programación orientada a aspectos (Kiczales et al., 1997), filtros de composición (Aksit et al., 1992), módulos conceptuales (Baniassad y Murphy, 1998), ingeniería de requerimientos basada en features (Griss, 2000), programación generativa (Batory et al., 2000a,b;Czarnecki y Eisenecker, 2000), separación multidimensional de concerns e hiperespacios (Tarr et al., 1999), modelado por roles (Andersen y Reenskaug, 1992), programación orientada a sujetos (Harrison y Ossher, 1993), programación orientada a variación (Lieberherr, 1996), viewpoints (Nuseibeh et al., 1994), desarrollo de software orientado a features (Apel y Kaestner, 2009), entre otros. Cada enfoque explora un punto diferente en el espacio de soluciones y trata diferentes subgrupos de problemas. ...