Two ideas for a computation "class".
- Use methods and annotations like:
It will execute in that order. Like JUnit we can also loop through the method names, but I don't think this is much more convenient.
- Generic types for the messages
The method which does execute the first superstep get's let's say <Integer, Double,?, ?> as input and ? as output, let's say String. (these should be Writable then..) -> <Integer, Double, String, String>
The second superstep method has to get <String, String, Integer, Double> assuming that there is no other superstep defined.
I currently don't know a way how to archieve this without defining several classes. But I will have a deeper look and hack a prototype over the next week.