programming platform
declarative language
-- for agent support
multiple threads of control
-- for multiple shared objects
distributed communication
-- networking capabilities (TCP/IP)