Google Android system has an useful mechanism named Broadcast, for example, when you turn off the screen the system will send out a message, then any module could receive this message, then the module could do something if he needs.
----------------------------------
The simulators who adhere to CAPE-OPEN have some shortages, for example, user has selected some compounds(for example SC) in a unit operation module as the reactant compounds , then user changes the SC name in compound selection window. For Aspen Plus and other simulators, UO could change the SC name automaticly in this UO; But for CAPE-OPEN, the simulator just could call the Invalidate() method of this UO, then UO check the compound list, then he doesn't know whether compound name changed or compound list changed, then this UO what only could do is remove SC from reactant compounds. This is not rational.
So here I advise CAPE-OPEN adds two new interfaces named ICapeBroadcastSender and ICapeBroadcastReceiver, for example Simulator fufills ICapeBroadcastSender and UO fulfills ICapeBroadcastReceiver, when compound name changed, Simulator could tell UO compound name changed; when compound removed, Simulator could tell UO compound removed, then UO could do something refer to specified broadcast message.