We discuss the suitability of service-oriented computing for the automotive domain. We present a formal high-level language in which complex automotive activities can be modelled in terms of core components and services that can either be provided by other components of the on-board software system or procured from external providers (e.g. via the web) through a negotiation process that involves quality of service attributes and constraints. We argue that the ability to re-configure activities, in real-time, through service discovery and dynamic binding takes us one step further from current component-based development techniques: it enhances flexibility and adaptability to changes that occur in the environment in which the system operates (driver, automobile, and external circumstances) and, ultimately, leads to improved levels of satisfaction, safety and reliability. Categories and Subject Descriptors D.2.2 [Software Engineering]: Design Techniques and Tools – modules, interfaces....