The SodaBot System ------------------ The Philosophy: Software agents should be written using a vocabulary not provided by traditional programming languages --- it should be possible to create agents solely by specifying their abstract behavior. The Application: We introduce SodaBot, a general-purpose software agent user-environment and construction system. Its primary component is the basic software agent --- a computational framework for building agents which is essentially an agent operating system. We also present a new language for programming the basic software agent whose primitives are designed around human-level descriptions of agent activity. Via this programming language, users can easily implement a wide-range of typical software agent applications, e.g. personal on-line assistants and meeting scheduling agents.