diff options
Diffstat (limited to 'TAO/examples/Simulator/README')
-rw-r--r-- | TAO/examples/Simulator/README | 255 |
1 files changed, 0 insertions, 255 deletions
diff --git a/TAO/examples/Simulator/README b/TAO/examples/Simulator/README deleted file mode 100644 index 0b4dd6d3db3..00000000000 --- a/TAO/examples/Simulator/README +++ /dev/null @@ -1,255 +0,0 @@ -$Id$ - -Documentation for the Simulator/DOVE demo - -Purposes: 1) To show how the event service can be used to as a medium to - transport monitoring events including data. - 2) To show how objects implemented in Java can access/can be accessed - by TAO objects. - 3) To show the feasability of the DOVE framework as mentioned in - http://www.cs.wustl.edu/~schmidt/dove.html and - http://www.cs.wustl.edu/~schmidt/DOVE_and_LifeCycleService.ps.gz - 4) To serve as a visual demonstration tool for scheduling and event - service configurations and applications. - -Application: Using the Event Service as distribution media, event - consumers and event suppliers are needed. The central - element in the Event Service is a so called, event channel. - The event channel transports events from suppliers to - consumers. Filtering can be activated. - The mapping to DOVE is the following: - Event Channel - DOVE Agent - DOVE Browser - and/or DOVE MIB - Monitor/Event Consumer - Event Supplier - Monitored Application (here - an object supplying recorded scheduling - and dummy information) - Logging Supplier - Monitored Application (here an object supplying - creation times and updating a flag to record - actual EC arrival and dispatching times in - the scheduling information data structure - viewed by the browser) - Dual EC Supplier - Monitored Application (here an object supplying - separate Navigation and Weapons data sets - in separate generating threads, which use - separate push - viewed by the browser) - -Implementation: - The events contain structs with avionics information. - They are generated by the monitored application and are - consumed by the DOVE Browser, a JAVA applet or application running - on a different machine and/or location. The collected metrics are - displayed in the Browser. - - When an event arrives from the event supplier, a consumer inspects - the data field in the event. The field is a CORBA::Any, so - no assumptions can be made about the kind of data in the event. - - A C++ Supplier pushes events containing a - navigation or weapons struct to the Event Service. - The latency and other machine metrics are read from - a file, which contains recorded scheduling information. - The Event Service dispatches the events to any number of - DOVE Browsers/MIBs which are implemented using JAVA/C++. - The DOVE Browser extracts the data of the structs and dispatches - it to various Visualization Components. - - -For more information refer to: - $TAO_ROOT/docs/releasenotes/index.html - - -Requirements: - * C++ compiler - * ACE/TAO environment, - * Visibroker 3.2+ for Java - -!!RELEASE CHANGES: - - the file make.bat has been expanded for use on NT - - - the file ss has been moved one level up and it got - renamed to "start_services". So use it to start the - naming and event service. - - - it is no longer required to start the scheduling service - - - the file make.bat has been expanded and refined for use on NT - The following make targets are defined: - make clean - removes all class files and idl generated java files - make realclean - updates idl files, does a make clean - make vb - makes the browser, using visibroker for java - make vbjava - remakes only the java files using vbjc - make jdk - makes the browser, using jdk - (the demo does not currently work with jdk) - -Parts of the Demo: - - * DOVE Browser (implemented in Java using Visibroker 3.2/3.3 for Java) - - * Event Supplier, can be seen as a monitored object, called - DOVE Application (implemented in C++ using TAO) - - * Logging Supplier, can be seen as a monitored object, called - DOVE Application (implemented in C++ using TAO) - rather than - providing canned simulation data, allows the actual EC arrival and - dispatching information to be recorded in the scheduling data - - * Dual EC Supplier, can be seen as a monitored object, called - DOVE Application (implemented in C++ using TAO) - provides a paired - event and scheduling services for control over event prioritization. - - * DOVE MIB, storing event data on persistent storage and keeping - track of statistical data (implemented in C++ using TAO) - -Files: - Common: - NavWeap.idl - IDL definition of the Weapons and Navigation structures - README - this readme file - - Event Supplier: - (in directory $TAO_ROOT/orbsvcs/tests/Simulator/Event_Supplier/) - DualEC_Sup.cpp - Dual EC Event Supplier - DualEC_Sup.h - Dual EC Event Supplier class definitions - Event_Sup.cpp - Event Supplier - Event_Sup.h - Event Supplier class definition - Logging_Sup.cpp - Event Supplier for EC logging - Logging_Sup.h - Event Supplier for EC logging class definition - Makefile - Event Supplier Makefile - (Event_Con.cpp, Event_Con.h - Event Consumer for testing) - svc.conf - helper file - - DOVEBrowswer: - (in directory $TAO_ROOT/orbsvcs/tests/Simulator/DOVEBrowser/) - AnswerEvent.java - Having my own Events - AnswerListener.java - Listener for these Events - DataHandler.java - Base class for all Data Handlers - DemoCore.java - Core of the Demo to connect Observables - with Observers - DemoObservable.java - Base class for Observables - DoubleVisComp.java - Visualization Component - (will be a JavaBean) for Doubles - DOVEBrowser.java - Wrapper around DemoCore - DOVEBrowserApplet.java - Applet wrapper around DemoCore - MTQueue.java - synchronized queue for multi-threaded access - MTDataHandlerAdapter.java - uses the Adapter and Active Object - patterns to provide early demuxing - of ORB upcalls onto multiple - synchronized queues managed by - data handler threads - NS_Resolve.java - Resolving the inital reference - to the Naming Service - NavWeapDataHandler.java - Specialized Data Handler for - Navigation and Weapons data - NavigationVisComp.java - Visualization Component - (... JavaBean) for Navigation data - ObservablesDialog.java - Dialog window for connecting - Observables with OBservers - Properties.java - constant definitons - PushConsumer.java - Event Service Push Consumer - PushConsumerFactory.java - Factory for the Consumer - Queue.java - Queue for the DoubleVisComp - VisComp.java - Base class for the Visualization Components - WeaponsVisComp.java - Visualization Component for Weapons - - - DOVE MIB: - (in directory $TAO_ROOT/orbsvcs/tests/Simulator/DOVEMIB/) - DOVEMIB.[cpp,h] - Core routines, connection to the - Event Channel - Node.[cpp,h] - Nodes used by the AnyAnalyser - AnyAnalyser.[cpp,h] - Anaylser for CORBA anys, storing the - contained types in persistent storage - NodeVisitor.h - base class definition of a Visitor - PrintVisistor.[cpp,h] - Able to print a given tree - of type nodes, which is - generated by the Any analyser - - -Compiling: - Common: - Be sure that you have _not_ built with - TAO_LACKS_EVENT_CHANNEL_ANY enabled. - - And, be sure that the following are built: - - "compile $TAO_ROOT/orbsvcs/orbsvcs" - "compile $TAO_ROOT/orbsvcs/Event_Service" - "compile $TAO_ROOT/orbsvcs/Naming_Service" - "compile $TAO_ROOT/orbsvcs/Scheduling_Service" - - UNIX platforms: - - Then, just run "make" in top level Simulator - directory. The DOVEBrowser requires VisiJava's - idl2java and vbjc. If they are not on your PATH, - or in the default location specified in - DOVEBrowser/Makefile, you'll have to specify the - location in the "make" invocation. For example: - - make VISIJAVA_BIN=/usr/local/VisiJava-3.2 - - NT: - Open the Event_Sup.dsw workspace found in the - Event_Supplier directory in MSVC++ 5.0+ and build - the Event_Sup, Logging_Sup, and DualEC_Sup projects. - - From a console window, change to the DOVEBrowser - directory and run "make vb" to build the browser using - Visibroker. The first time you do this, you will need to - run "make setup" to copy the correct files into the directory. - You may also want to do a "make realclean" each time you - rebuild in case there were changes to IDL files. - -Starting: - - Start in the following order on different ORB ports: - * Naming Service - * Event Service - - You can use "start_services" on Unix machines. The - script is located in $TAO_ROOT/orbsvcs/tests. - - Event Supplier (simulation data): - Event_Sup -ORBport 10040 -f MLF.dat -m 1000 - - // -m 1000 for 1000 events sent by the supplier - // -f MLF.dat to read scheduling data from this file as input - - - Logging Supplier (live latency and latency jitter data): - Logging_Sup -ORBport 10040 -f MLF.dat -m 1000 - - // -m 1000 for 1000 events sent by the supplier - // -f MLF.dat to read operation names from this file as input - - - Dual EC Supplier (live latency and jitter data over two channels): - DualEC_Sup -ORBport 10040 -f MLF.dat -m 1000 - - // -m 1000 for 1000 events sent by the supplier - // -f MLF.dat to read operation names from this file as input - - DOVE Browser: - vbj DOVEBrowser - (also supported: vbj DOVEBrowser -ORBnameserviceior <IOR> - vbj DOVEBrowser -ORBnameserviceport <port> - vbj DOVEBrowser -dualECdemo) - - or - - gatekeeper - cd /visigenic/vbroker/lib - jar xf vbjorb.jar - jar xf vbjtools.jar - "setting the Naming Service IOR in the DOVEBrowser.html file" - appletviewer DOVEBrowser.html - - - - DOVE MIB: - DOVEMIB -ORBport 10041 -f myfile -m 100 - - // -m 100 for storing the next 100 events - // -f <name of the file in which it will be stored> - |