125

Technical Research |Spatial Functions

124

Technical Research |Spatial Functions

one can revisit the methodologies from establishing the human systems in Chapter 2.3 and adopt a similar mindset for simulating these objects. This approach allows the adoption of a framework for establishing the entities within the system regardless of what typology they may be, whether they are the human agents or the architectural objects.

Revisiting the human systems in Chapter 2.3, it can be seen that they are based on the concept of autonomous agents, which are defined by their limited ability to perceive the environment, their ability to process the information from its environment to calculate an action, and their lack of a leader. While these three rules all applied to autonomous human crowds, the third rule of lacking a leader does not necessarily need to apply to these dynamic objects, as they can be programmed to follow a leader if need be. This leaves us with the first two rules, which are the limited ability to perceive the environment and the ability to process the information to calculate an action. This can be broken down further into the basic stages of an input, processing, and an action, which allows the deduction of how these systems can be manipulated by relating it back to the three human systems that were established within Chapter 2.3.

The input, which is functionally similar to the sensory system of the human, determines how the object can perceive the environment and what kind of trigger necessitates an interaction from the object. This data can be obtained from various sources such as the occupants, the environment, or self-generated from algorithms, and can be stored as variables for use in the processing stage.

The processing, which is functionally similar to the decision logic of the human, determines how the object might utilize the data if it has to decide on an action. Within this stage, data is utilized to manipulate variables depending on the function of the object. This manipulation can be very flexible, ranging from nonexistent to space altering; where the input variable is unchanged and directly used within the output, to an algorithm where the color of a light can correlate to the number of occupants within the space.

The action, which is functionally similar to the pathfinding of the human, determines how the object might respond due to environmental and human contact. These are functions that utilize the processed variables to update the attributes of the object.

Simplifying this method into its basic stages helps to overcome the potential complexities that come with the varied typology of these objects. However, while this might be enough for simulating smaller spaces with a limited number of objects, for larger, more complex spaces, one will also need to account for the whole picture and investigate the organization and movement of data throughout the system. In Rob Kitchin and Martin Dodge’s book,

Code/Space, they talk about software that is embedded in everyday life at four levels of activity, terming coded objects, coded infrastructure, coded processes, and coded assemblage.[4]

Coded objects rely on software to function, which can include credit cards to flash drives to phones. This is the most personal level of activity since most objects on this level belong to the user. As such, they offer a primary source of identification as the user travels throughout the environment. Examples of this can be observed in credit cards and how they contain identification to bank accounts, or how phones can contain various forms of personal information ranging from e-mail accounts to GPS locations to microphone recordings. This is also the current main form of human computer interaction through electronic devices such as personal laptops or phones. This level of activity is important as it allows the most precise form of data collection in a distributed system, where the identification of the object is essentially the identification of the human.

Coded infrastructures are networks that can link coded objects together. They are an infrastructure that can be monitored, regulated, or interactive. Unlike coded objects, these elements are mostly built within the environment, and as such need to be integrated directly into the design of the space. As these systems are largely physical elements that need to be incorporated into spaces, elements within this layer contain the main challenge of transitioning an existing space into an intelligent interactive space.

Coded processes are the transition of data across coded infrastructure. It acts as a technological unconsciousness that drives the hardware within everyday space. This invisible layer of data is only revealed through the inference of mechanical elements or the graphical visualizations of a user interface. It is because of this technological unconsciousness that allows these complex systems to function as well as to connect to each other.

Coded assemblages are where the convergence of multiple sources of coded infrastructure are present to create a nested system that is in parallel. These systems include automation of local spaces such as hospitals, warehouses, transportation, etc. where they essentially allow the organization of local spaces within the distributed intelligence as a whole. From this, they can form almost-closed systems with minimal input and output to minimize impact from external noise.

4 Rob Kitchin and Matin Dodge, Code/Space: Software and Everyday Life, Software Studies (MIT Press, 2011), 5.