OBJECT ORIENTED ANALYSIS, DESIGN AND PROTOTYPING OF A MANUFACTURING SYSTEM
                        USING THE G++ ENVIRONMENT
		   PHYSICAL DISTRIBUTED IMPLEMENTATION

The present demo describes a case study of Computer Integrated Manufacturing,
where a complete software life cycle has been conducted using an Object Oriented
approach.

The example describes a factory, producing a collection of final products. This
factory receives orders for those products from clients, generates and addresses
to the shop-floor (a collection of cells) requests for production of lots of
parts.

PROTOTYPING
This application simulates the cell controller. The display shows in
one window the physical representation of the object Topology and in the
second the logical representation of the Cell.

By clicking on the icons contained in the Cell with the left button of the
mouse, it is possible to open new windows showing the contents of those icons.
This content may be a class diagram, pure data as in the case of container
classes, method prototypes (to visualize the source code use the center button)
or state diagrams. In particular to
visualize the control logic of the active objects present in this example, open
the class "Machine" and "Transport" and then open respectively "doService" in
the Cell, "doWork" in the Machine and "doMission" in the Transport. The state
diagrams of those objects will appear.

By clicking on "Step" or "Go" step-by-step or continuous simulation is achieved
with animation of the control logic and of the topological representation.
During animation breakpoints  on the state diagrams can be set or removed by
clicking with the left botton of the mouse on the desired block of the state
diagram.

A trace of the calls to the object methods is also printed in the console window
during the simulation if the file g++trace is removed.

The simulation can be closed by clicking on "Quit" or "End".

This demo is the companion of the demo contained in the directory DemoAgv. 
Here the same cell controller is implemented on two processes connected 
through TCP/IP.
The cell runs on one process and the RemoteMachine on a second one.

If you want to run the demo on two different workstations
copy on the second computer the complete directory DemoTcpip.
Start first the RemoteMachine with the command RemoteMachine.exe.
Then start the cell controller on the other workstation with the command
Cell.exe -host <hostname>
where <hostname> is the name of the workstation where RemoteMachine is running

