Agricultural Data Interchange Syntax

from Wikipedia, the free encyclopedia

Agricultural Data Interchange Syntax ( ADIS ) is an ASCII syntax for the exchange of data between information systems in the agricultural sector.

construction

Basics

The protocol or the syntax is line-oriented and follows a prescribed structure. Each line begins with its line type (one character) and the status character (also one character), followed by an event or entity number (six digits), followed by data or data definitions. Each line must be terminated by a <CR> <LF> combination.

Line types:

Line type designation description
D. definition The content of the following V lines is specified in a D line. A D line must always be followed by one or more V lines. If no data is available, all fields (from position 9) of the entire V-line must be preceded by "?" be filled.
Scheme: D <Status> <Entity no.> (<DDI no.> <Field length> <decimal places>) + <CR> <LF>
V Value The V line contains the values ​​of the data elements listed in the last D line.
Scheme: V <Status> <Entity No.> (<Value>) + <CR> <LF>
E. End of logical file The E line marks the logical end of an ADIS file. Multiple E lines can appear in a file. The E line is always followed by a DH and VH line or a Z line. The physical end of a file is indicated by a Z line. The last E line before the Z line is not required.
Scheme: EN <CR> <LF>
C. Comment The C line can be inserted anywhere in the ADIS file and it can contain any text.
Scheme: C <Status> <any text> <CR> <LF>
S. Search One or more conditions can be specified in an S line.
Scheme: S <Status> <event no.> (<DDI no.> <Field length> <resolution> <min-value> <max-value>) + <max-number> <CR> <LF>
R. Request An R line contains the data dictionary numbers of attributes that are requested.
Scheme: R <Status> <Event No.> (<DDI No.> <Field length> <Resolution>) + <CR> <LF>
F. File An F line indicates the full name of a bibliography file (path name and file name). This line avoids including the file itself.
Scheme: F <Status> <Path + file name> <CR> <LF>
I. Include An I line contains the path name and the file name of a file to be inserted in the I line position. The insert line should meet the ADIS requirements as if it were part of the parent file. This implies that the combination of the parent file and the insert file meets the ADIS requirements.
Scheme: I <Status> <Path + file name> <CR> <LF>
O output An O line contains the path name and the file name of a file to which data must be written.
Scheme: O <Status> <Path + file name> <CR> <LF>
T Terminate A T-line marks the end of an information main unit in an ADIS file. A T-line can be used to distinguish different blocks within a file. A DH + VH line (see also E line) cannot follow a T line.
Scheme: TN <CR> <LF>
Z Physical end of file
Scheme: ZN <CR> <LF>

Status sign:

status designation description
H Header Data Every ADIS file must have a header. This implies that an ADIS file starts with a DH line followed by a VH line. Only comment lines (regardless of their status symbols) can precede the header. If the header is omitted, the entire file is illegal.
N normal Normal data is provided to update the recipient's database.
S. synchronization
F. Faulty Data If an ADIS file contains a line that appears to contain one or more errors, it is possible for the recipient to put this entire line in a separate ADIS file with the status character changed to "F". It is also possible that an F status line has more fields than the corresponding N status line. The F status line can e.g. B. contain detailed information about the type of error, what is wrong, etc. This type of information can be contained in an F status line according to the preceding DF line. The receiver detects the errors in the ADIS file and sends the F line back to the original sender.
D. Deletion If an ADIS file has been sent that contains incorrect information, the submitter can copy the line containing the error to another ADIS file with a status character changed to "D" and can also send this file. A line with a D status should be completely deleted. The use of the D status is selectable. If the D status is not supported, it should be answered with an F line.

Classes

There are different classes of ADIS:

Class a Line types D, V, C, E, Z compulsory
class B Additionally F, I, T extension
Class C Additionally R, O extension
Class D. Additionally S, R, O extension

Class A is required to be able to communicate in ADIS. All other classes are extensions that do not build on each other. That is, if Class C is supported, Class B is not automatically supported.

Data syntax

In a data line (V.), unused characters must be padded with spaces. In the case of text, the remainder after the last character is filled up to the field size. In the case of numbers, the field is filled in before the digits. Furthermore, fields without content are filled with question marks ('?').

Examples

Header

DH990001000000000800090000208000900003080009000040600090000624000900009080
VH990001DD:     1996    20131105202246LKVNRW                  AGRO2013
Explanation
DH 990001 00 000000 08 0 00 900002 08 0 00 900003 08 0 00 900004 06 0 00 900006 24 0 00 900009 08 0
1 | 2    |3 |  4   |5 |6|3 |  4   |5 |6| …
  1. Line type & status characters (here definition and header)
  2. Event number or entity number
  3. Delimiter, actually belongs to the item number, but is described inconsistently.
  4. Item number
  5. Length of the field
  6. Decimal places

The header data:

VH|990001|DD:     |1996    |20131105|202246|LKVNRW                  |AGRO2013|
2 |   6  |   8    |   8    |   8    |  6   |           24           |   8    |

The lengths specified in the second line correspond to the field lengths specified in the header declaration.

Data

Normal data is processed according to the same scheme. Here's an example:

DN190002001900010800019000306000190052180
VN1900021996    990001??????????????????
VN1900021996    990002Animal            
VN1900021996    990003Individual milking
VN1900021996    990004Lactation         
VN1900021996    990005??????????????????
VN1900021996    990006Daily feeding     
…

Certifications

ISOagriNET

ISOagriNET is an implementation of the ADIS syntax on network connections.

There is a certification of the ISO group (ISO17532: 2007).

However, smaller companies in the agricultural engineering sector usually shy away from certification because of the costs.

Differences to ADIS

The differences to ADIS are marginal. Since ISOagriNET is only used on network level, all line types that have to do with direct file handling (E, F, I, O) are omitted.

Problems from ADIS

ADIS causes problems in cases where more than 99 characters are required for a variable. Furthermore, this protocol is only intended for data that can be expressed in text or numbers. The length restriction can still be revised with tricks in an emergency. However, if binary data have to be transmitted, this protocol is completely ruled out due to its textual nature.

In addition, the implementations of individual companies are mostly incomplete in-house implementations, as there are no complete reference implementations in any language. An open source project on Github called 'adis' is trying to develop an unofficial reference implementation for Java, but is still incomplete and is only developing slowly.

Other approaches to agricultural interoperability

agriOpenLink

agriOpenLink is an association of research institutions and companies with the aim of making the communication of machines and information systems in the agricultural sector open, automating and simplifying it for farmers. The technology is based on ontologies and web services.

Main objectives:

  • open interface
  • easy and quick implementation
  • Open source software and libraries
  • based on the ontologies to create an expert system

The following research institutions and companies have joined forces in the project:

  • FTW - Telecommunications Research Center Vienna
  • BOKU - University of Natural Resources and Life Sciences, Institute for Agricultural Engineering, Vienna
  • JR - Josephinum Research, Wieselburg
  • MKWE - MKW Electronics GmbH, Weibern / Upper Austria

The project is funded by the FFG and financed by the Austrian Federal Ministry for Transport, Innovation and Technology (BMVIT).

swell

Individual evidence

  1. ISOagriNET website
  2. ISO17532: 2007 ( Memento from April 2, 2015 in the Internet Archive )
  3. adis OSS project on Github