By: A. Aarsten, D. Brugali, G. Menga
Published in: CACM, Oct. 1996
Summary: Summary of G++, a pattern language for concurrent and distributed control systems, and an application in computer-integrated manufacturing.
Category: Concurrent Systems, Distributed Systems
Contains: Visibility and Communication between Control Modules [Aarsten+95],
Contains: Categorize Objects for Concurrency [Aarsten+95],
Contains: Client/Server/Service [Aarsten+95],
To ensure a seamless evolution from simulation to final implementation, maintain two versions of each object, the prototype and the reality object. When moving from simulation to reality, replace the prototype object with the reality object. Ensure consistent transition by having the implementations inherit from a common base class that defines their interface.
Contains: Distribution of Control Modules [Aarsten+95],
In a simulation, the control of a peripheral device uses variables and events. In reality, this is not the case. Make the data for accessing the peripheral state virtual by using a proxy. Create a class to encapsulate external events. Overload the method to broadcast logical events with a new method that takes an event as a parameter.