Hi Sebasitan,

thanks for that pointer … unfortunately I think we might be unable to use this 
option as the compiler is GPLv3 licensed … that is a category X license.
Even if the compiler is not bundled with our software or used at runtime (will 
probably only need it at compile-time), I doubt we would be allowed to use it.

But still I’ll look into it …

Chris

Von: Sebastian Wiendl <[email protected]>
Antworten an: "[email protected]" <[email protected]>
Datum: Mittwoch, 9. Januar 2019 um 15:18
An: "[email protected]" <[email protected]>
Betreff: Antwort: Re: Anyone got experience with "protocol buffers" or DFDL 
(for generation of the message (de)serialization code)?

Hi,

maybe the Kaitai Struct project (https://kaitai.io/) can help you achieve this?

Mit freundlichen Grüßen
Kind regards

Sebastian Wiendl
DSE / Digital Solutions Software Engineer
Phone: +49 9605 919 - 9341
E-Mail: [email protected]
Internet: http://www.bhs-world.com
________________________________
 [cid:_1_0DB11BC80DB117CC004E9C08C125837D]

BHS Corrugated Maschinen- und Anlagenbau GmbH
Paul-Engel-Straße 1
92729 WEIHERHAMMER
GERMANY

Management: Christian Engel, Lars Engel, Norbert Städele
Registered at Amtsgericht Weiden, HR B 1320

[cid:_2_0DB128DC0DB124CC004E9C08C125837D]


________________________________


Diese Nachricht ist nur für den Empfänger bestimmt, da sie persönliche und/oder 
rechtlich geschützte Informationen und vertrauliche Informationen enthält.
Der Inhalt darf an keinen anderen außer an den Empfänger weitergeleitet werden. 
Unbefugte Empfänger werden gebeten, diese Vertraulichkeit zu wahren und den 
Absender sofort von diesem Übertragungsfehler in Kenntnis zu setzen.
Vernichten Sie diese Nachricht. Das unerlaubte Kopieren sowie die unbefugte 
Weitergabe dieser Nachricht ist nicht gestattet.

This message is intended for the addressee only as it contains private and/or 
privileged and confidential information.
The contents are not to be disclosed to anyone else than the addressee. 
Unauthorized recipients are requested to comply with the above and to inform 
the sender immediately of any errors in transmission and destroy this e-mail.
Any unauthorized copying, disclosure or distribution of the material in this 
e-mail is strictly prohibited.




Von:        "Christofer Dutz" <[email protected]>
An:        "[email protected]" <[email protected]>
Datum:        09.01.2019 15:06
Betreff:        Re: Anyone got experience with "protocol buffers" or DFDL (for 
generation of the message (de)serialization code)?
________________________________



Hi all,

Ok ... so protobuf seems to be semi-ideal ...

It seems that you can use it to model the structure of data. Protobuf is good 
for generating model classes, parsers and serializers for a given model ... the 
binary data-format is a result of this.

We want the opposite: We want to generate a model from a known output 
data-format. In general this could be somehow achieved with protobuf, however 
it is very difficult to produce the definition in a way that it is able to 
parse a given data format.
For example simply outputting one byte seems to be problematic. I was able to 
somehow hack an enum and provide some extension to allow providing code values, 
but we don't have the level of control we would need to and the result is not 
very readable.
I was able to quite easily setup the maven build to generate java code for 
parsing and serializing a model ... so that was good.

DFDL looks as if it's ideal for describing the data format, however I couldn't 
find tooling to generate model, parser and serializer from a DFDL definition. I 
subscribed to our brother incubating project Daffodil and asked on their list 
... perhaps I have to get my hands dirty and implement the maven plugin and 
code generators as part of that project ... I am hoping not having to do that.

I'll check out Thrift in parallel  ;-)


Chris



Am 09.01.19, 11:19 schrieb "Christofer Dutz" <[email protected]>:

   From my first look at thrift some time ago, that's more about API and not 
about the actual payload, is it?

   How about I try to do a protobuf version of the "s7-protocol" and you give 
thrift a try? Another option would be the DFDL option.

   Chris

   Am 09.01.19, 11:13 schrieb "Julian Feinauer" <[email protected]>:

       Hi Chris,

       we worked (and work) with Thrift [1] at several places.
       Thrift is a strong contender to protobuf and both have their specific 
advantages and disadvantages.
       Perhaps I would prefer Thrift as it comes from the Apache Ecosystm (and 
supports more langauges) but generally, Tim can say more about working with 
Thrift.

       Best
       Julian

       [1] https://thrift.apache.org/

       Am 09.01.19, 10:45 schrieb "Christofer Dutz" <[email protected]>:

           Hi all,

           while I’m currently working on refactoring the S7 driver to a 
simpler structure so we can convert it to other languages more easily. A 
colleague of mine pointed me to protobuf/protocol buffers from google [1]
           From a quick look at it, it does seem as if it could suit our needs 
quite nicely. I would like to try out if it’s possible to model the S7 data 
structures in this way. If it works we could eventually quickly create 
something that serializes/deserializes given data in any language …

           It seems to be a lot simpler than the DFDL [2] I was thinking of, so 
guess we have to find out if it has all the capabilities we need.

           Any thoughts?

           Chris




           [1] https://developers.google.com/protocol-buffers/docs/javatutorial
           [2] https://en.wikipedia.org/wiki/Data_Format_Description_Language










Reply via email to