Describir: Mixing of Join Point Interfaces and Feature-Oriented Programming for Modular Software Product Line