 A yet different approach comes from Piccinini (2007, 2008) in the context of his mechanistic analysis of physical computations (Piccinini 2015; see also the entry on  computation in physical systems).  A physical computing system is a system whose behaviors can be explained mechanistically by describing the computing mechanism that brings about those behaviors. Mechanisms can be defined by “entities and activities organized such that they are productive of regular changes from start or set-up to finish or termination condition” (Machamer et al. 2000; see the entry on  mechanisms in science).  Computations, as physical processes, can be understood as those mechanisms that “generate output strings from input strings in accordance with general rules that apply to all input strings and depend on the input (and sometimes internal states)” (Piccinini 2007, p. 108). It is easy to identify set-up and termination conditions for computational processes. Any system which can be explained by describing an underlying computing mechanism is to be considered a computational system. The focus on explanation helps Piccinini avoid the Searlean conclusion that any system is a computational system: even if one may interpret, in principle, any given set of entities and activities as a computing mechanism, only the need to explain a certain observed phenomenon in terms of a computing mechanism defines the system under examination as computational.