23.08.2015 Views

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Nevertheless, as demonstrated by Jadex XML, the same principles can be appliedto message encoding as well.FIPA SLJava SerializationJadex XMLJadex BinaryHuman Readability = - + -Standard Conformance + = = -Well-formed Structure + = = -Editable = - + -Performance - + - +Compactness - = - +Fig. 3. Feature support by different methods <strong>of</strong> agent content encodingWhen considering the agent format features proposed in Section 2, it becomesclear that even though some features are well-supported, other features werenot the focus for those formats (cf. Fig. 3). For example, FIPA SL as a textbasedformat is quite readable and editable by humans, provides a definition<strong>of</strong> a well-formed structure and is a standard for agent messaging with widesupport for many agent platforms. Jadex XML on the other hand, while notbeing a widely-used standard, has a well-defined and openly accessible schemaand allows a human user to easily read and edit agent messages. Nevetheless,neither compactness nor performance seem to be the focus for either language.This is likely due to compactness and performance being in conflict with otherfeatures. For example, a compact format tends to be hard for humans to read.The Jade platform recognizes the need for compact messages with good performancein some applications. It supports these features by adding contentobjects to messages, instead <strong>of</strong> a string-based content, but discourages this approachfor lack <strong>of</strong> standard conformance. Jade uses the Java language serializationfeature[7] to encode such messages; however, while this approach is fairlycompact and certainly providing good performance, it has multiple drawbacks.First, for a number <strong>of</strong> reasons listed in the specification it only supports classesthat explicitely declare to implement a marker interface. While it is trivial toadd the interface to classes, the source code <strong>of</strong> classes used in legacy applicationsmay be unavailable. In addition, some useful built-in classes like BufferedImagedo not implement this marker interface and there is no way to easily retr<strong>of</strong>itthe serialization system to support this class. Furthermore, there appear to becompatibility issues, requiring a versioning convention using a marker field andcarefully monitoring <strong>of</strong> the Java Virtual Machines used by the system. Finally,as we will show, the compactness <strong>of</strong> the serialization format can be further improvedupon, especially without an additional compression cycle.In the next section we will introduce an agent message format for Jadexcalled Jadex Binary which focuses solely on the compactness and performancefeatures. This message format will be an alternative to the default Jadex XMLused by Jadex, which can be used by application that have a strong need for thosetwo features and do not require feature better supported by Jadex XML. We105

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!