14.4. Input Conditioning
Partitioning control into concurrently executing state machine instances requires their synchronization, but this can introduce more complexity than was removed by the original partitioning of control.
Consider, as an example, the synchronization between the selection and the shopping cart. Broadly:
Creation of a selection requires the prior creation of a cart.
Several selections can be made at once because objects execute concurrently, requiring interselection coordination.
After checkout, no more selections can be made, which requires coordination with the cart.
Cancellation of the order must prohibit further selections.
The difficulty is that these rules are not trivial to enforce in the general case. Worse, in reality, ...
Get Executable UML: A Foundation for Model-Driven Architecture now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.