Beispiel #1
0
  public void init() {
    add(intitule);
    add(texte);
    add(bouton);
    bouton.addActionListener(this);

    try {
      ORB orb = ORB.init(this, null);
      FileReader file = new FileReader(iorfile.value);
      BufferedReader in = new BufferedReader(file);
      String ior = in.readLine();
      file.close();
      org.omg.CORBA.Object obj = orb.string_to_object(ior);
      annuaire = AnnuaireHelper.narrow(obj);

    } catch (org.omg.CORBA.SystemException ex) {
      System.err.println("Error");
      ex.printStackTrace();
    } catch (FileNotFoundException fnfe) {
      System.err.println(fnfe.getMessage());
    } catch (IOException io) {
      System.err.println(io.getMessage());
    } catch (Exception e) {
      System.err.println(e.getMessage());
    }
  }
  public synchronized void update(RtecEventComm.Event event) {

    // System.out.println ("in NavWeapDataHandler.update");

    Any any_value;
    PersianRecursion.Data persian_recursion_data;

    any_value = event.data.any_value;

    if (any_value.type().equal(PersianRecursion.DataHelper.type())) {
      //        System.out.println ("type matched PersianRecursion.Data");

      try {
        persian_recursion_data = PersianRecursion.DataHelper.extract(any_value);
      } catch (Exception e) {
        System.err.println(e.getMessage() + "\nThe stack trace is:\n");
        e.printStackTrace();
        return;
      }

      //       System.out.println ("extracted any");

      if (persian_recursion_data.criticality_level.equals(
              RtecScheduler.Criticality_t.HIGH_CRITICALITY)
          || persian_recursion_data.criticality_level.equals(
              RtecScheduler.Criticality_t.VERY_HIGH_CRITICALITY)) {
        //            System.out.println ("obtaining high priority persian recursion observable");

        PersianObservable pobs_hi =
            (PersianObservable) ObservablesTable.get("High Consumer Persian Recursion");

        //            System.out.println ("updating high priority persian recursion observable");

        pobs_hi.updatePersianData(persian_recursion_data);

        // LatencyObservable lobs_hi =
        // (LatencyObservable) ObservablesTable.get ("High Consumer Execution Time (100 ns)");

        // lobs_hi.updateLatency (persian_recursion_data.computation_time);
      } else {
        //            System.out.println ("obtaining low priority persian recursion observable");
        PersianObservable pobs_lo =
            (PersianObservable) ObservablesTable.get("Low Consumer Persian Recursion");

        //            System.out.println ("obtained low priority persian recursion observable");
        // System.out.println ("updating low priority persian recursion observable");

        pobs_lo.updatePersianData(persian_recursion_data);

        //            System.out.println ("updated low priority persian recursion observable");

        // LatencyObservable lobs_lo =
        // (LatencyObservable) ObservablesTable.get ("Low Consumer Execution Time (100 ns)");

        // lobs_lo.updateLatency (persian_recursion_data.computation_time);
      }

      //        System.out.println ("done updating PersianObservables");

      received_events_++;

      //        System.out.println ("total events received: " + received_events_);
    } else 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);
      JitterObservable njobs =
          (JitterObservable) ObservablesTable.get("Navigation Latency Jitter (100 ns)");
      njobs.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);
      LatencyObservable nlobs =
          (LatencyObservable) ObservablesTable.get("Navigation Latency (100 ns)");
      nlobs.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);
      JitterObservable wjobs =
          (JitterObservable) ObservablesTable.get("Weapons Latency Jitter (100 ns)");
      wjobs.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);
      LatencyObservable wlobs =
          (LatencyObservable) ObservablesTable.get("Weapons Latency (100 ns)");
      wlobs.updateLatency(
          weapons_.completion_time, weapons_.computation_time, weapons_.arrival_time);
      received_events_++;
    } else {
      System.out.println("Received wrong type information");

      System.out.println("Received any_value.type (): [" + any_value.type() + "]");

      System.out.println("Expected NavigationHelper.type (): [" + NavigationHelper.type() + "]");

      System.out.println("OR WeaponsHelper.type (): [" + WeaponsHelper.type() + "]");

      System.out.println(
          "OR PersianRecursion.DataHelper.type (): [" + PersianRecursion.DataHelper.type() + "]");
    }
  }