Muddle around in Cyc's imagination

  | Try Now | Project | Documentation | Support Feature Requests | Bugs | CVS  | OpenCyc | CycL Programming |

This project delivers Java APIs, Ontologies and other Tools that you will need to use CycL, KIF (Knowledge Interchange Format) and soon enough DAML (DARPA Agent Markup Language) content into an episodic simulation inside a virtual world MOO.  

Browse to the Development Machines Web Interface at
The system is sometimes down or being recompiled and the previous usernames and passwords may be reset.
I intend to offer a stable connection point for persistent user engineering in a short while.

You also may log in via: telnet:// 
I suggest using Linux telnet since terminal control was not completely developed in my current system and may get confusing otherwise.  
Use a username when prompted that is one complete word like "BobBrown"

Project Goals

1)  To test and do practical Knowledge Engineering about a virtual realm of objects.  (Expertly build rooms with objects based on rules.)
  Sometimes its easier to model the world as and how we see it.  Room building Exercise to give it a try.


2)  Perform higher level operations and model how state changes happen with our objects
       hasAttributes Exercise,  Event Exercise

3)  To animate non-player character agents from propositional rules 

4)  Provide a interface for humans to involve themselves in the lives of logically created agent creatures.

5)   To represent episodic models of memory for each agent.  (As well as abducing or creating 'Beliefs')



Room building

(The comments ';' are only when debug output is turned on)


[dmiles@Area1002 mud]$ assert (isa DouglasMilesOffice RoomInAConstruction)

[dmiles@Area1002 mud]$ teleport DouglasMilesOffice
you are now in DouglasMilesOffice

[dmiles@DouglasMilesOffice mud]$ look
Nothing apparent about douglas miles office '#$DouglasMilesOffice'

[dmiles@DouglasMilesOffice mud]$  new Thing as Tool Hammer.

; Asserted

; (thereExists (?X)
;      (and 

;         (isa ?X Hammer)

;         (isa ?X Tool)

;         (located ?X TwistyPassage45SKFn)))

; Warning

; (genls Hammer Tool) is previously entailed

;  Your new default object is 'ToolHammer53455345SKFn'


> set ColorProperty  Blue

; Asserted 

; (hasAttribute ToolHammer53455345SKFn ColorProperty)

; (attribute ToolHammer53455345SKFn Blue)


> look

You are in a maze of Twisty passages with exits leading in all directions.
Someone or something has discarded a Blue Hammer here.


> take hammer

; Retracted

;  (located  ToolHammer53455345SKFn TwistyPassage45SKFn)

; Asserted
;  (located  ToolHammer53455345SKFn Player8)

Persisted Data Model

At any time we can serialize the  'MOOState' context (Microtheory).

This is meant to be a solid context comprising of instances and sets.  The other ontologies about understanding and using these can stored as well as hypothetical rooms and objects.  They in could be called 'Exemplars' for example the Unicorn Pegasus is a mythological creature and could live cut off in in the 'Giant Room Of Mythological Creatures' and looks and save like an instance of Unicorn.  But Pegasus' room may not be part of the relevant KB and therefore not effecting to the rest of the system.  But how would we persist information that does not fit into a 4D space?    For example these two rules: 




        (isa ?PERSON Human) 

        (acquaintedWith ?OTHER ?PERSON))

    (acquaintances ?PERSON ?OTHER SimpleContactAcquaintance)) 



    (spouse ?X ?Y) 

    (friends ?X ?Y))


Each rule is kept in an instance of an Assertion.  Physical Regions of the MOO may be effected by any 'Set' of instances from the Assertion Class.  Assertions can be divided into Microtheories that can be believed by agents (or Mobs).  The MOO reserves no special entity for enforcement of rules unless an agent has been assigned specifically to a room to do so.  Most cases agents in the room are picking from there own private array of Assertions which is separate from  an entity using the room's set.   



Supported configurations

LINUX (currently developed on Redhat 7.x)

JDK 1.4

Jakarta Tomcat 4.x

OpenCyc 0.6.0


SourceForge Logo