Documentation
The main idea behind building a bot, which can persist state about its status on disk, is that we use
LINQ both for in memory as for persisting state on disk.
LINQ is a very big part of this project and is also interwoven right into the core. Though the SDK is targeted towards Active Worlds, we strive to use type templating as much as possible, so we can support a factory pattern to support VR engine's such as OpenSim using the same scripts/syntax.
This paradigm will make it easier to program bots and other people to understand how bots work. Without having to have direct knowledge about the history of the active world SDK directly. This will unify the way how people write bots and make it more understandable and less obscure in sharing code.
High Level Architectural Overview
This overview highlights the most important building blocks from AwManaged. There are more building blocks we will zoom in on as this project progresses.
How to get started
To get the Bot Example working you will need to add your own
app.config Application Configuration file to the
AwManaged.Tests project and provide your
correct Universe Login credentials.
For the binary distribution, The Technology Preview Setup Package contains an application config file (from version 0.5.15 and up) and allows you to configure it from the command line, when starting up Console.exe.
Remoting clients
from the previous architectural overview, a remoting client wil have to authenticate against the Authentication service. This same service also checks for authorization. This basically means, that when a user is logged on it is authenticated under a privilege account, but the Aw managed SDK is proxying the remoting client's authorizations after successful log on to do tasks on behalf of the awmanaged stack (which is logged in under a privilege account). Because there are interpreter services, the authorization for a remote client will become very fine grained right onto the action string of an object. The idea is to provide an IDE which can administer interpreted action strings and bind them to authorizations. In realtime scenario's it will be possible to exclude certain users from using the light command for example.
Example Video's
Bot Operating system booting up with unit testsBoot sequence includes starting up storage services, remoting services and performing some unit tests during boot. Some simple command line interpreter is tested, by issuing some simple commands.
http://www.youtube.com/watch?v=4ZzNIzJYWfgA Virtual ATM Machine / Bank Bot in AW 4.2 created with AWManagedhttp://www.youtube.com/watch?v=cSurS2UkDroUpdating 225 objects (full update/all attributes) in one second flatBot running remote on simple Wifi Connection to the remote universe. Browser running from the same connection.
http://www.youtube.com/watch?v=H870Y5jZki8