We propose a novel type of dynamically reconfigurable system-on-chip architecture, the Gannet service-based architecture. This novel concept addresses the issue of system-level reconfigurability of heterogeneous multi-core SoCs. The Gannet architecture introduces the "processing core as service" paradigm: the processing cores interface with the system in a similar manner to services on a network. The functionality of the system is defined by specifying the set of services and their interaction patterns. As both the set of services and the interaction patterns can be changed at run time, the system is dynamically reconfigurable at two levels. The service paradigm results in a decoupling of processing and communication, thus facilitating large-scale parallelism and self-managed distributed processing.