summaryrefslogtreecommitdiff
path: root/Controller/Component/Controller.idl
blob: bd343fdcf6e483433342e94cf4361e8be2a92420 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#ifndef RACE_CONTROLLER_IDL
#define RACE_CONTROLLER_IDL

/**
 * @file Controller.idl
 *
 * @brief Controller Component of RACE.
 *
 * This file declares a Controller of the RACE framework.
 *
 * @author Nishanth Shankaran <nshankar@dre.vanderbilt.edu>
 */

#include <Components.idl>
#include "DAnCE/Deployment/Deployment_TargetData.idl"
#include "TargetManager/TargetManagerExt.idl"
#include "Interface.idl"
#include "Monitor/Central_Monitor/Monitor.idl"

/**
 * @module CIAO
 * @brief The CIAO module.
 */

module CIAO
{
  module RACE
  {

    struct component_info
    {
      string id;
      string node;
    };

    /**
     * @component Controller
     * @brief The Controller component of RACE.
     */

    component Controller supports Trigger
    {
      /// Obtain resource utilization infromation from the target manager.
      uses CIAO::TargetManagerExt target_mgr_ext;
      uses Deployment::TargetManager target_mgr;

      uses ::CIAO::RACE::Execution_Time_Monitor monitor;


      /// Facet to which the descrpters can be pushed.
      provides Descriptors descriptors;

      /// The sampling period of the controller.
      readonly attribute long sampling_period;
    };

    home Controller_Home manages Controller
    {
    };
  };
};
#endif /* RACE_CONTROLLER_IDL */