1 SemanticAgent, a Platform for the Development of Software Agents. Percival Lucena, Dilvan De Abreu Moreira, Carlos Alberto Estombelo Montesco Instituto de CiŒncias MatemÆticas e Computaªo - Universidade de Sªo Paulo Av. do Trabalhador Sªo-Carlense, 400 - Centro - Cx. Postal 668 Sªo Carlos - Sªo Paulo - Brasil - 13560-970 {percival,dilvan}@icmc.usp.br, estombelo@universia.edu.pe Abstract: This paper presents a new software agent platform that is able to manipulate knowledge and execute actions based on requests made on restricted natural language. A new model for representing knowledge and actions, based on extended ontologies, is presented and a prototype that implements the ideas is discussed as well. 1. Introduction The construction of systems based on intelligent agents is a daunting task that involves aspects such as agent communication, planning, work division, cooperation, representation and manipulation of knowledge, among other activities. In order to ease the creation of agent based systems, agent platforms provide some services that allow developers to build solutions without the need of worrying about every implementation detail. This paper is divided as follows: section 2 discusses agent communication and knowledge representation, section 3 discusses the SemanticAgent Platform, the main focus of this work; at last section 4 draw some conclusions about the presented work. 2. Agent Communication and Knowledge Representation A well-adopted paradigm of agent communication consists in the use of message exchange. Agent communication languages (ACLs) that support this paradigm usually rely on content languages to represent the knowledge logics and ontologies to represent knowledge semantics. Content languages are usually based on formal logic, which is well suited for technical and expert persons, but fall short on the abilities of ordinary software agent users. Content languages that can express unambiguous natural language requests can be considered a more adequate tool for end users and developers who require dynamic interaction with software agents. The Universal Networking Language (UNL) and Universal Communication Language (UCL) appear as natural candidates for such use.