diff options
Diffstat (limited to 'TAO/examples/Simulator/DOVEBrowser/NavWeapDataHandler.java')
-rw-r--r-- | TAO/examples/Simulator/DOVEBrowser/NavWeapDataHandler.java | 275 |
1 files changed, 0 insertions, 275 deletions
diff --git a/TAO/examples/Simulator/DOVEBrowser/NavWeapDataHandler.java b/TAO/examples/Simulator/DOVEBrowser/NavWeapDataHandler.java deleted file mode 100644 index 8c466ea0640..00000000000 --- a/TAO/examples/Simulator/DOVEBrowser/NavWeapDataHandler.java +++ /dev/null @@ -1,275 +0,0 @@ -// $Id$ -// -// = FILENAME -// NavWeapDataHandler.java -// -// = AUTHOR -// Michael Kircher (mk1@cs.wustl.edu) -// -// = DESCRIPTION -// This is an implementation of the interface Data Handler, -// it handles Navigation and Weapons data, where statistic data is -// part of it. Several Observables are declared, they can be accessed by -// any number of Observers, which could reside in a Java Bean for example. -// -// ============================================================================ - -import org.omg.CORBA.*; - -public class NavWeapDataHandler implements DataHandler { - - java.util.Hashtable ObservablesTable; - int received_events_; - - - // Observable for Navigation data - class NavigationObservable extends DemoObservable { - - // to ask which kind of viewer is needed to display data - public int getProperty () { - return Properties.NAVIGATION; - } - - public void updateNavigation (Navigation navigation) { - setChanged (); - notifyObservers (navigation); - } - - } - - class WeaponsObservable extends DemoObservable { - - // to ask which kind of viewer is needed to display data - public int getProperty () { - return Properties.WEAPONS; - } - - public void updateWeapons (Weapons weapons) { - setChanged (); - notifyObservers (weapons); - } - } - - class Cpu_UsageObservable extends DemoObservable { - - public int getProperty () { - return Properties.DOUBLE; - } - - public void updateCpu_Usage (double utilization) { - setChanged (); - Double temp_ = new Double (utilization); - notifyObservers (temp_); - } - } - class OverheadObservable extends DemoObservable { - - public int getProperty () { - return Properties.DOUBLE; - } - - public void updateOverhead (double overhead) { - setChanged (); - Double temp_ = new Double (overhead); - notifyObservers (temp_); - } - } - class JitterObservable extends DemoObservable { - double latency = 0.0; - double avg_latency = 0.0; - double sample_count = 0.0; - - public int getProperty () { - return Properties.DOUBLE; - } - - public void updateJitter (long completion_time, - long computation_time, - long arrival_time) { - - latency = (double)(completion_time) - - (double)(computation_time) - - (double)(arrival_time); - latency = latency > 0 ? latency : 0; - - sample_count = sample_count + 1.0; - avg_latency = (avg_latency * (sample_count - 1.0) + latency) / - (sample_count); - - double jitter_ = (double)Math.abs(latency - avg_latency); - - setChanged (); - Double temp_ = new Double (jitter_); - notifyObservers (temp_); - } - } - class DeadlinesObservable extends DemoObservable { - - public int getProperty () { - return Properties.DOUBLE; - } - - public void updateDeadlines (long deadline_time, - long completion_time) { - - double missed_ = (deadline_time < completion_time) ? 1.0 : 0.0; - Double temp_ = new Double (missed_); - setChanged (); - notifyObservers (temp_); - } - } - class CriticalDeadlinesObservable extends DeadlinesObservable { - - public int getProperty () { - return Properties.DOUBLE; - } - - public void updateDeadlines (long deadline_time, - long completion_time, - long criticality) { - - double missed_ = ((criticality > 0) && - (deadline_time < completion_time)) ? 1.0 : 0.0; - Double temp_ = new Double (missed_); - setChanged (); - notifyObservers (temp_); - } - } - - class LatencyObservable extends DemoObservable { - double latency = 0.0; - double last_latency = 0.0; - - public int getProperty () { - return Properties.DOUBLE; - } - - public void updateLatency (long completion_time, - long computation_time, - long arrival_time) { - last_latency = latency; - latency = (double)(completion_time) - - (double)(computation_time) - - (double)(arrival_time); - latency = latency > 0 ? latency : 0; - - setChanged (); - Double temp_ = new Double(latency); - notifyObservers (temp_); - } - } - - - public void update (RtecEventComm.Event event) { - - Any any_value = event.data.any_value; - - if (any_value.type().equal (NavigationHelper.type())) - { - Navigation navigation_ = NavigationHelper.extract (any_value); - - // if the navigation data structure's update data flag is set, - // update its scheduling data with actual values from the EC - if (navigation_.update_data > 0) - { - navigation_.arrival_time = event.header.creation_time; - navigation_.completion_time = event.header.ec_send_time; - navigation_.deadline_time += event.header.creation_time; - } - - NavigationObservable nobs = (NavigationObservable)ObservablesTable.get ("Navigation"); - nobs.updateNavigation (navigation_); - Cpu_UsageObservable cobs = (Cpu_UsageObservable)ObservablesTable.get ("CPU Usage"); - cobs.updateCpu_Usage (navigation_.utilization); - OverheadObservable oobs = (OverheadObservable)ObservablesTable.get ("Overhead"); - oobs.updateOverhead (navigation_.overhead); - JitterObservable jobs = (JitterObservable)ObservablesTable.get ("Latency Jitter (100 ns)"); - jobs.updateJitter (navigation_.completion_time, - navigation_.computation_time, - navigation_.arrival_time); - DeadlinesObservable dobs = (DeadlinesObservable)ObservablesTable.get ("Missed Deadlines"); - dobs.updateDeadlines (navigation_.deadline_time, - navigation_.completion_time); - CriticalDeadlinesObservable cdobs = - (CriticalDeadlinesObservable)ObservablesTable.get ("Missed Critical Deadlines"); - cdobs.updateDeadlines (navigation_.deadline_time, - navigation_.completion_time, - navigation_.criticality); - LatencyObservable lobs = (LatencyObservable)ObservablesTable.get ("Latency (100 ns)"); - lobs.updateLatency (navigation_.completion_time, - navigation_.computation_time, - navigation_.arrival_time); - received_events_++; - } - else if (any_value.type().equal (WeaponsHelper.type())) - { - Weapons weapons_ = WeaponsHelper.extract (any_value); - - // if the weapons structure's update data flag is set, update - // itss scheduling data with actual values from the EC - if (weapons_.update_data > 0) - { - weapons_.arrival_time = event.header.creation_time; - weapons_.completion_time = event.header.ec_send_time; - weapons_.deadline_time += event.header.creation_time; - } - - WeaponsObservable wobs = (WeaponsObservable)ObservablesTable.get ("Weapons");; - wobs.updateWeapons (weapons_); - Cpu_UsageObservable cobs = (Cpu_UsageObservable)ObservablesTable.get ("CPU Usage"); - cobs.updateCpu_Usage (weapons_.utilization); - OverheadObservable oobs = (OverheadObservable)ObservablesTable.get ("Overhead"); - oobs.updateOverhead (weapons_.overhead); - JitterObservable jobs = (JitterObservable)ObservablesTable.get ("Latency Jitter (100 ns)"); - jobs.updateJitter (weapons_.completion_time, - weapons_.computation_time, - weapons_.arrival_time); - DeadlinesObservable dobs = (DeadlinesObservable)ObservablesTable.get ("Missed Deadlines"); - dobs.updateDeadlines (weapons_.deadline_time, - weapons_.completion_time); - CriticalDeadlinesObservable cdobs = (CriticalDeadlinesObservable)ObservablesTable.get ("Missed Critical Deadlines"); - cdobs.updateDeadlines (weapons_.deadline_time, - weapons_.completion_time, - weapons_.criticality); - LatencyObservable lobs = (LatencyObservable)ObservablesTable.get ("Latency (100 ns)"); - lobs.updateLatency (weapons_.completion_time, - weapons_.computation_time, - weapons_.arrival_time); - received_events_++; - } - else - System.out.println ("Received wrong type information"+any_value.type()); - } - - NavWeapDataHandler () { - ObservablesTable = new java.util.Hashtable(); - - ObservablesTable.put ("Navigation", new NavigationObservable()); - ObservablesTable.put ("Weapons", new WeaponsObservable()); - ObservablesTable.put ("CPU Usage", new Cpu_UsageObservable()); - ObservablesTable.put ("Overhead", new OverheadObservable()); - ObservablesTable.put ("Latency Jitter (100 ns)", new JitterObservable()); - ObservablesTable.put ("Missed Deadlines", new DeadlinesObservable()); - ObservablesTable.put ("Missed Critical Deadlines", new CriticalDeadlinesObservable()); - ObservablesTable.put ("Latency (100 ns)", new LatencyObservable()); - } - - public java.util.Enumeration getObservablesList () { - return ObservablesTable.keys (); - } - - public DemoObservable getObservable(String name) { - return (DemoObservable)ObservablesTable.get (name); - } - - public int getObservableProperty (String name) { - DemoObservable obs = (DemoObservable)ObservablesTable.get (name); - return obs.getProperty (); - } -} - - - - - - |