January 30th, 2012, 4:45 pm
Based on my Domain Architecture approach (e.g. MC102) it is possible to design each components as either passive objects (as in the current MC102) or as active objects (>= 1 thread). This is easy because of loose coupling and using signals/delegates>We have done a POC in C# last week using asynchronous delegates and .NET tasks. It will be easy in C++ as well but a little more effort to wrap Boost Thread futures.To make the code more flexible we can always uses a Proxy, which also hides different h/w and s/w platforms.So, client components just communicate via asynch provides/requires interfaces, like hardware. To finish, we will need a state machine for each component for things like time outs, exceptions... In other words, the state machine is the gizzards of the delegate ports.Here is an example to get the gist of it (in this case with asynch delegates).
Last edited by
Cuchulainn on January 29th, 2012, 11:00 pm, edited 1 time in total.