This can be read as a somewhat embellished sequence diagram.
The left-hand edge depicts the states being transitioned. Reading down gives an indication of time elapsed.
The dashed boxes represent the Producer and Consumer as entities, although at the conceptual level. This is specifically not suggesting a “container”, although that may be a useful concept to introduce at some point in the future.
The bold arrows represent “calls” through a straw man API. The un-bolded arrows are actions that take place within the context of the Embedded service case, but beyond the scope of the protocol/API.
The straw man API is based loosely on the working document put together by Gil and Eilon. I haven’t depicted everything they outlined. Specifically:
Not depicted are the alternative transitions possible due to error conditions raised by the Producer. These should be separately diagrammed (to-do).
It is possible the setProperty call is out-of-scope here; I depict it as an example of something else the Consumer can do once there is a handle to a service instance.
This is a very flexible model, with the expectation that additional sub-states (and associated entities and APIs) can be fit in to accommodate WSRP needs, as well as higher-level WSIA use cases.