icyphy / ptII

Ptolemy II is an open-source software framework supporting experimentation with actor-oriented design.
https://ptolemy.eecs.berkeley.edu/ptolemyII
Other
99 stars 43 forks source link

DDF Support? #334

Open frokaikan opened 5 years ago

frokaikan commented 5 years ago

How to generate DDF C/ Java code? (Use CCodeGenerator/ JavaCodeGenerator) Or, how to modify the SDF code to support DDF Director?

cxbrooks commented 5 years ago

It would be fairly difficult to add support for DDF. The way to do it would be to mirror the classes used by the SDF facility and update them for DDF. For example

ptolemy/cg/adapter/generic/program/procedural/adapters/ptolemy/domains/sdf/kernel/SDFDirector.java

would be used to create

ptolemy/cg/adapter/generic/program/procedural/adapters/ptolemy/domains/ddf/kernel/DDFDirector.java

and ptolemy/cg/adapter/generic/program/procedural/c/adapters/ptolemy/domains/sdf/kernel/SDFDirector.java

would be used to create ptolemy/cg/adapter/generic/program/procedural/c/adapters/ptolemy/domains/ddf/kernel/DDFDirector.java

DDF-specific actors would go in

ptolemy/cg/adapter/generic/program/procedural/adapters/ptolemy/domains/ddf/lib/ and ptolemy/cg/adapter/generic/program/procedural/c/adapters/ptolemy/domains/ddf/lib

Probably the easiest way to do this would be to

  1. create a small SDF model

  2. generate C code for it

  3. modify the SDF model to use the DDF director and a DDF actor or two

  4. Modify the C code by hand to support DDF.

  5. Modify the DDF code generator to generate DDF code based on the small DDF model

  6. Add support for other DDF actors.

  7. Update the code generator to generate code