::apx::

APX Welcome

APX: Agent Programming eXtensions APX is a set of extensions to the C# programming language designed to simplify the development of agent oriented software applications that target the AgentService platform. These extensions introduce the key elements of the AgentService agent model into the syntax and the semantics of the C# grammar.

APX also provides a tailored compiler that produces managed dll containing agent, knowledge, and behaviour types. The compiler translates the new elements into specific classes defined into the AgentService object model by automaically adding all the boilerplate code required by the framework that can be inferred by the context. The APX compiler is able to compile either simple C# code either C# code mixed with the extensions, it performs all the syntactic and the semantic checks required by the C# language specifications and the additional semantic checks required by the AgentService Framework.

The APX project is a property of l.i.d.o. and has been developed at the Department of Communication, Computer and System Sciences of the University of Genova.

bullet Info - Coming Soon version 1.0

Version 1.0 of the Agent Programming eXtensions is still under development. Check out this page and the latest news section of the main page to know when a first alpha version of the compiler will be available for download.

APX Features

Smooth learning curve: the grammar of APX is based on the C# grammar, and only few syntactical elements are added.

Quick development: the extensions automatize many programming patterns required by the AgentService framework, developers do not have to write boilerplate code but a simple and clear syntax to deal with.

New constructs for agent, knowledge, and behaviour types: the agent AgentName {}, knowledge KnowledgeName {}, and behaviour BehaviourName {} let the programmers define the corresponding elements quickly and easily. The APX grammar allows the programmers to define just the required elements to specify the type they're defining. All the other elements (class inherithance, default methods...) are inferred from the context and automatically generated by the compiler.

Additional syntactic and semantic checks: APX adds some useful statements to the C# grammar, in particular the acquire statement introduced with the extensions defines a safe context to access shared data contained into the knowledge objects.

APX Resources

Documentation

The AgentService Research Group is planning to deliver the following documetation for the Agent Programming eXtensions:

  • Agent Programming eXtensions: will mainly cover the definition of the grammar of the extensions and will explain how these constructs are translated by the APX compiler into the classes defined by the AgentService object model. The manual will also discuss about the semantic rules associated to the extensions.
  • APX compiler internals: will cover the internals of the AgentService platform, the implementation of modules for the platform, and all the details involved in each operation performed by the platform during its life cycle.

Sample files

A list of sample files that can be considered as starting point to use the extesions will be available soon. The sample files will give examples of the grammar of the extensions and will explain how to code agents knowledges and behaviour types with APX.

Frequently Asked Questions

A FAQ section will be set up soon.