---- EDS Software Development Kit ----

Chapter 3: an intro to EDS architecture

-- Introduction --

The EDS, or Emotional Doll System, is the core AI software for SEVS units. This software runs mostly in the Emotional Engine, the specialized AI CPU developed for the dolls. It also utilizes the built in PowerPC G5 low-power conventional processor in several ways, mostly for mathematics-intensive operations like performing calculations on the data drawn from it's sensors in order to model the doll's environment.

The EDS is what allows SEVS units to think, determine context, have self-knowledge, and function in social environments, amongst other things. It is divided up into two main programs, the base personality and the custom interaction frameworks.

-- Base Personality --

-what the base personality is-

The basic personality of an SEVS doll is stored with the memory handle "Mode 00". To most programmers, Mode 00 should be regarded as a black box. Within this black box lies the heart and mind of an artificial being.

Fundamentally, Mode 00 is a *very* large collection of data structures and thought processes. It includes the entire groundwork for all of the doll's AI functions: context recognition, speech recognition and processing, visual processing, movement, facial expressions, speech, creative and/or logical thought, emotions, morality, et cetera. Mode 00 also contais a high-level personality unique to each SEVS. Many interfaces are provided for programmatically interfacing with it, all of which require only a basic understanding of it's inner workings.

The Mode 00 personality is, at any given time, mostly what you're dealing with when you have a conversation with a doll.

-limitations-

It is unacceptable, for security and safety reasons, for the doll to be able to modify it's own core programming. This point is somewhat moot because of the size and complexity of Mode 00, which makes it almost impossible for a doll to understand, much less alter. Also, storage limitations *require* that only one copy be kept in an SEVS unit at a time.

-- Interaction Frameworks --

-their purpose-

The Mode 00 personality is forced to be static and unadaptable because of restrictions of safety, storage, and complexity. This does not provide the flexibility and programmability that our customers will want. Nor does it allow the doll to adapt to new situations very easily, and thus impairs the belivablitiy of it's social functioning. A way for the doll to learn from and then meaningfully change it's behaviors is imperative to the success of the SEVS product. So customizibility is established in the form of interchangable "interaction frameworks". These much smaller programs are stored with memory handles "Mode 01" -- "Mode FFFF".

-how frameworks function-

Interaction frameworks are programs that function over top of Mode 00. They alter it's high-level functioning by providing the doll with customizible information, thoughts, and motivations. The results of these alterations, however, must still be processed by and output through the groundwork laid by Mode 00.

To say it another way, the frameworks allow changes to be made to the doll's personality which would otherwise be impossible. But these alterations must still be expressed via the basic methods stored in Mode 00, and are therefore generally affected by the doll's default personality.

Multiple frameworks can be running at any given time. Mode 00 is generally more than capable of dealing with multiple directives and influences.

-framework selection-

Framework activation is governed by deeply-coded processes in the doll's system, beyond the control of the personality. This is called a "Dynamic Mode Select".

Given a new situation, a doll reflexively loads any frameworks that it determines will help it make the most people happy (priorities are generally given to which people to satisfy first. This is discussed in chapter 6, "Understanding the Low-Level Imperatives of the EDS"). This drive to make people happy is, in a nutshell, the entire selling point of the SEVS project.

And while this reflex will occasionally backlog a doll's processors and disorient for the unit, effects are not permanent and will clear up as the backlogged data is processed. The control stick(s) on all dolls chirp audibly to signal when a new framework is loaded.

-misc-

The architecture of Mode 00 theoretically allows an unlimited number of frameworks to run simultaneously. The only real restriction is the hardware itself, the limitations of processing power and memory.

Any framework will, in theory, function in any EDS system, though there are practical limitations imposed by things like gender.

-- Types of Interaction Frameworks --

-introduction-

Frameworks are all the same in their basic structure, but they are classified into two groups based on how they are generated: by human AI programmers, or by the EDS itself.

-EDS-generated frameworks-

These frameworks provide the mechanism for SEVS units to learn and change on their own. As a doll experiences situations and makes various responses, it gagues weather these responses are successful. Based on these results, it creates templates for various situtaitons that modify it's Mode 00 personality so that a more appropriate response is achieved.

EDS-generated frameworks are generally geared toward improving the basic personality and existing interaction templates. They are not *generally* intended for compensating for entirely new modes/situations, as these require a large amount of human input to be realistic. Building a framework on it's own in order to adapt to new a situiation *is* possible for the EDS, but the process takes time, as well as trial-and-error.

-Human-generated frameworks-

The sheer number of situations that a Doll may encounter prevents us from anticipating every one and building appropriate responses into Mode 00. For the EDS system to generate a proper framework on it's own, it must become less active for a long while as it observes the new situation. After it uses these observations to construct a trial framework, a long period of trial-and-error tuning must occur. This process requires a very large ammount of time, far longer than is nessecary to function properly in ANY new situation.

To work around this problem, specially trained EDS programmers construct primer framworks. These frameworks, ideally, quickly give the Doll all of the concepts, thought processes, emotions, and other information that it needs to deal properly with a new situation. At the very least, they help the Doll adapt it's own programming much more quickly. This gives the Doll a very heavy dependancy on primer frameworks, especially when they encounter a new situation. This is, however, unavoidable.

There are many other uses for frameworks, as well. New abilities like fighting skills can be added. The possibilities are really only limited by the imagination of the developer. These frameworks are what this SDK is intended to help you create.

Dolls log into the EDS update center every so often to the latest official Sony frameworks available for their model.

-interactions between frameworks and the base personality-

To provide extra flexibility to the EDS programmer, methods are provided allow frameworks to subvert and almost completely supress the Mode 00 personality. This is not generally reccomended practice, however, as it tends to severely impair a unit's believable functioning.

[!--OOC: in this architecture, Yukiko's CSX software mods would have been implemented as personality-supressing frameworks, as well as several other frameworks to give her her m4d combat AI--]