summaryrefslogtreecommitdiff
path: root/TAO/examples/Simulator/README
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/examples/Simulator/README')
-rw-r--r--TAO/examples/Simulator/README255
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>
-