On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Communications of the ACM
Logic and objects
KQML as an agent communication language
CIKM '94 Proceedings of the third international conference on Information and knowledge management
PLACA, an agent oriented programming language
PLACA, an agent oriented programming language
APRIL—Agent PRocess Interaction Language
ECAI-94 Proceedings of the workshop on agent theories, architectures, and languages on Intelligent agents
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
AgentSpeak(L): BDI agents speak out in a logical computable language
MAAMAW '96 Proceedings of the 7th European workshop on Modelling autonomous agents in a multi-agent world : agents breaking away: agents breaking away
A unified computation model for functional and logic programming
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Co-operating agents: concepts and applications
Agent technology
Concurrency in Prolog using threads and a shared database
Proceedings of the 1999 international conference on Logic programming
ConGolog, a concurrent programming language based on the situation calculus
Artificial Intelligence
ViP: a visual programming language for plan execution systems
Proceedings of the first international joint conference on Autonomous agents and multiagent systems: part 2
Coordination for Internet Application Development
Autonomous Agents and Multi-Agent Systems
A Survey of Concurrent METATEM - the Language and its Applications
ICTL '94 Proceedings of the First International Conference on Temporal Logic
A Logic Programming Language for Multi-agent Systems
JELIA '02 Proceedings of the European Conference on Logics in Artificial Intelligence
SICStus MT - A Multithreaded Execution Environment for SICStus Prolog
PLILP '98/ALP '98 Proceedings of the 10th International Symposium on Principles of Declarative Programming
Formal Semantics for an Abstract Agent Programming Language
ATAL '97 Proceedings of the 4th International Workshop on Intelligent Agents IV, Agent Theories, Architectures, and Languages
Distributed Logic Programming using Mobile Agents
AINA '04 Proceedings of the 18th International Conference on Advanced Information Networking and Applications - Volume 2
Multi-threading and message communication in Qu-Prolog
Theory and Practice of Logic Programming
Ontology oriented programming in go!
Applied Intelligence
Ontology schema for an agent belief store
International Journal of Human-Computer Studies
Ballroom etiquette: A Case Study for Norm-Governed Multi-Agent Systems
Coordination, Organizations, Institutions, and Norms in Agent Systems II
Declarative programming for agent applications
Autonomous Agents and Multi-Agent Systems
Annals of Mathematics and Artificial Intelligence
CooL-AgentSpeak: Enhancing AgentSpeak-DL Agents with Plan Exchange and Ontology Services
WI-IAT '11 Proceedings of the 2011 IEEE/WIC/ACM International Conferences on Web Intelligence and Intelligent Agent Technology - Volume 02
About declarative semantics of logic-based agent languages
DALT'05 Proceedings of the Third international conference on Declarative Agent Languages and Technologies
Multi-threaded communicating agents in qu-prolog
CLIMA'05 Proceedings of the 6th international conference on Computational Logic in Multi-Agent Systems
CLIMA'05 Proceedings of the 6th international conference on Computational Logic in Multi-Agent Systems
Eliminating unscalable communication in transaction processing
The VLDB Journal — The International Journal on Very Large Data Bases
CooL-AgentSpeak: Endowing AgentSpeak-DL agents with plan exchange and ontology services
Web Intelligence and Agent Systems
CooL-AgentSpeak: Endowing AgentSpeak-DL agents with plan exchange and ontology services
Web Intelligence and Agent Systems
Hi-index | 0.00 |
Go! is a multi-paradigm programming language that is oriented to the needs of programming secure, production quality, agent based applications. It is multi-threaded, strongly typed and higher order (in the functional programming sense). It has relation, function and action procedure definitions. Threads execute action procedures, calling functions and querying relations as need be. Threads in different agents communicate and coordinate using asynchronous messages. Threads within the same agent can also use shared dynamic relations acting as Linda-style tuple stores. In this paper we introduce the essential features of Go!. We then illustrate them by programming a simple multi-agent application comprising hybrid reactive/deliberative agents interacting in a simulated ballroom. The dancer agents negotiate to enter into joint commitments to dance a particular dance (e.g., polka) they both desire. When the dance is announced, they dance together. The agents' reactive and deliberative components are concurrently executing threads which communicate and coordinate using belief, desire and intention memory stores. We believe such a multi-threaded agent architecture represents a powerful and natural style of agent implementation, for which Go! is well suited.