Component-Based Development (CBD) and Domain Engineering (DE) are important approaches for software reuse. In a DE process,
components are specified in a high abstraction level, within a component architecture specification. When components are reused
during an Application Engineering (AE), they are composed with each other and third-party components. However, conflicts usually
occur and they must be considered as early as possible, otherwise they may jeopardize the defined architecture. This work
proposes a set of functionalities for development with components, with focus on the support for the adaptation and composition
functionalities. These were included in Odyssey, an environment that supports DE and AE processes. A preliminary study on the use of these functionalities is also reported.