Pervasive computing is one of the most active research fields because it promises the creation of environments where computing and communication devices are effectively integrated with users so th at applications can provide largely invisible support for tasks performed by users. This paper presents an environment for software development, called MAADE (Multi Adaptive Agent Development Environment), and aimed at the implementation of mult i-agent systems for pervasive and adaptive applications using both: (i) agents and multi-agent systems properties and (ii) composition filters for driving and dynamically adapting the behaviour of the system. MAADE allows the realization of both intentional and reactive agents, which live in an environment constituted by passive objects exposing their features in the form of available services. Thanks to its modular nature, the framework is proving particularly effective for allowing graduate students to experiment with different models and protocols used in Distributed Systems. Moreover, it is being used for the realization of prototypal applications, including an ubiquitous social networking platform, with dynamical location and proximity groups.