GreenCloud Simulator
Public Member Functions | Public Attributes | List of all members
PerComponentModel Class Reference

#include <percomponentmodel.h>

Inheritance diagram for PerComponentModel:
Inheritance graph
[legend]
Collaboration diagram for PerComponentModel:
Collaboration graph
[legend]

Public Member Functions

 PerComponentModel ()
 
virtual ~PerComponentModel ()
 
virtual void print ()
 
virtual int command (int argc, const char *const *argv)
 
virtual double estimate (int size, double *predictors)
 
virtual double getMaxPower ()
 
virtual void addComponent (DcResource *component)
 
- Public Member Functions inherited from PowerModel
 PowerModel ()
 
virtual ~PowerModel ()
 
void setName (const char *name)
 

Public Attributes

std::vector< DcResource * > modeled_components_
 
- Public Attributes inherited from PowerModel
std::string name_
 

Detailed Description

Definition at line 17 of file percomponentmodel.h.

Constructor & Destructor Documentation

PerComponentModel::PerComponentModel ( )

Definition at line 19 of file percomponentmodel.cc.

19  {
20 
21 
22 }
PerComponentModel::~PerComponentModel ( )
virtual

Definition at line 24 of file percomponentmodel.cc.

24  {
25 
26 }

Member Function Documentation

void PerComponentModel::addComponent ( DcResource component)
virtual

Implements PowerModel.

Definition at line 28 of file percomponentmodel.cc.

28  {
29  modeled_components_.push_back(component);
30 }
std::vector< DcResource * > modeled_components_
int PerComponentModel::command ( int  argc,
const char *const *  argv 
)
virtual

Reimplemented from PowerModel.

Definition at line 32 of file percomponentmodel.cc.

32  {
33  if (argc == 2) {
34  if (strcmp(argv[1], "print") == 0) {
35  /* print general info */
36  print();
37  return (TCL_OK);
38  }
39  } else if (argc==3){
40  if (strcmp(argv[1], "set-name") == 0) {
41  this->setName(argv[2]);
42  return(TCL_OK);
43  } else {
44  return(TCL_ERROR);
45  }
46  }
47  return(TCL_ERROR);
48 
49 }
virtual void print()
void setName(const char *name)
Definition: powermodel.cc:19
double PerComponentModel::estimate ( int  size,
double *  predictors 
)
virtual

Implements PowerModel.

Definition at line 50 of file percomponentmodel.cc.

50  {
51  std::vector<DcResource*>::iterator iter;
52  double result = 0;
53  for(iter = modeled_components_.begin(); iter != modeled_components_.end(); iter++){
54  result+=(*iter)->getPower();
55  }
56  return result;
57 }
std::vector< DcResource * > modeled_components_
double PerComponentModel::getMaxPower ( )
virtual

Implements PowerModel.

Definition at line 59 of file percomponentmodel.cc.

59  {
60  std::vector<DcResource*>::iterator iter;
61  double result = 0;
62  for(iter = modeled_components_.begin(); iter != modeled_components_.end(); iter++){
63  result+=(*iter)->getMaxPower();
64  }
65  return result;
66 }
std::vector< DcResource * > modeled_components_
void PerComponentModel::print ( )
virtual

Reimplemented from PowerModel.

Definition at line 69 of file percomponentmodel.cc.

69  {
70  std::cout << "Per component power model.\nModeled components:\n";
71  std::vector<DcResource*>::iterator iter;
72  for(iter = modeled_components_.begin(); iter != modeled_components_.end(); iter++){
73  std::cout << (*iter)->specification->getPowerModel()->name_ << "\n";
74  }
75 
76 }
std::vector< DcResource * > modeled_components_

Member Data Documentation

std::vector<DcResource*> PerComponentModel::modeled_components_

Definition at line 26 of file percomponentmodel.h.


The documentation for this class was generated from the following files: