Field - owningStructure - binary - logical - visual - representation Binary Logical Visual Representation Structure - name - description - fields - data + putData(Field*, data) + validateData(Field*, data) + updateData() + ... AFieldFactory + createField() + createFieldBinaryInformation() + createFieldLogicalInformation() + createFieldVisualInformation() + createFieldRepresentation() AStructureFactory + createStructure() StructureFactory FieldFactory RandomAccessBinary - binaryData Model +getBinary():byte[] +getStructures():Structure[] +addStructure() +remStructure() AModelFactory + createModel() ModelFactory Repository +addStructure() +remStructure() +getStructures() Contains the known structures. AModel AStructure AField ARepository RepositoryFactory ARepositoryFactory