kenkendk / sme

Synchronous Message Exchange
MIT License
10 stars 3 forks source link

Change to dynamic network exploration #9

Closed kenkendk closed 6 years ago

kenkendk commented 7 years ago

The current compiler uses static mapping to figure out which processes and busses are connected. This allows for a number of nice properties, but also gives some problems when wanting to re-use components, as the new components must sub-class the original component, as well as re-expose the busses via. subclassing:

https://github.com/kenkendk/bpu/blob/7edc597df60e3a2bff24d1fe48b0a085d9a7f136/src/BPUImplementation/RegisterBanks.cs

With this change it would be possible to create designs that dynamically instantiate components, making it easier to create designs that change size and configurations.

This is a deep change, and needs some consideration as the auto-wiring depends on static types. With this change it will also be simpler to achieve feature parity/similarity with PySME/Almique:

https://github.com/truls/almique https://github.com/truls/pysme

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/49938973-change-to-dynamic-network-exploration?utm_campaign=plugin&utm_content=tracker%2F36576838&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F36576838&utm_medium=issues&utm_source=github).
kenkendk commented 6 years ago

This was fixed with f7940278fa83991ace48f034c7a45044a3c9fc04