All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
dynamic_internal_representation.h
Go to the documentation of this file.
1 #ifndef DYNAMIC_INTERNAL_REPRESENTATION_H_INCLUDED_
2 #define DYNAMIC_INTERNAL_REPRESENTATION_H_INCLUDED_
3 
4 #include <list>
5 #include <string>
6 #include <iostream>
7 #include <set>
8 
9 #include "socket.h"
11 
13 
14 public:
15  std::string name_;
16  int *address_;
17 
18  virtual void class_name() = 0;
19 };
20 
22 
23 public:
24  std::string class_name_;
25  std::list<int*> events_;
26 
27  virtual void class_name();
28 };
29 
30 class DynamicPort: public DynamicObject {
31 public:
32  virtual void class_name();
33 
34  void print(unsigned int indent);
35 };
36 
37 //TLM2
38 
40 public:
41  virtual void class_name();
42 
43  void print(unsigned int indent);
44 };
45 
46 
48 public:
49  virtual void class_name();
50 
51  void print(unsigned int indent);
52 };
53 
54 
55 //end
57 public:
58  virtual void class_name();
59 
60  void print(unsigned int indent);
61 };
62 
64 public:
65  virtual void class_name();
66 
67  void print(unsigned int indent);
68 };
69 
71 public:
72  virtual void class_name();
73 
74  void print(unsigned int indent);
75 };
76 
77 class DynamicEvent: public DynamicObject {
78 public:
79  virtual void class_name();
80 
81  void print(unsigned int indent);
82 };
83 
85 public:
86  std::string class_name_;
87 
88  virtual void class_name();
89 
90  void print(unsigned int indent);
91 };
92 
94 public:
95  std::string class_name_;
96  int* event_;
97 
98  virtual void class_name();
99 
100  void print(unsigned int indent);
101 };
102 
104 public:
105 
106  virtual void class_name();
107 
108  void print(unsigned int indent);
109 };
110 
112 public:
113  std::string class_name_;
114  int* event_;
115 
116  virtual void class_name();
117 
118  void print(unsigned int indent);
119 };
120 
122 public:
123 
124  virtual void class_name();
125 
126  void print(unsigned int indent);
127 };
128 
130 
131 public:
132 
133  std::list<DynamicModule*> sub_modules_;
134  std::list<DynamicPort*> ports_;
135  std::list<DynamicInitSocket*> init_sockets_;
136  std::list<DynamicTargetSocket*> target_sockets_;
137  std::list<DynamicPointer*> pointers_;
138  std::list<DynamicReference*> references_;
139  std::list<DynamicVariable*> variables_;
140  std::list<DynamicPrimChannel*> sub_channels_;
141  std::list<DynamicHierarchicalChannel*> sub_hierarchical_channels_;
142  std::list<DynamicEvent*> events_;
143  std::list<DynamicEventAndList*> event_and_lists_;
144  std::list<DynamicEventOrList*> event_or_lists_;
145 
146  virtual void class_name();
147 
148  void print_tree(unsigned int indent = 0);
149 };
150 
152 
153 public:
154 
155  virtual void class_name();
156 
157  void print_tree(unsigned int indent = 0);
158 };
159 
172  DynamicModule *root,
173  std::string host_module_type_name,
174  int host_module_instance_id,
175  std::string reference_name,
176  int &instance_counter);
177 
189 bool
191  DynamicModule *root,
192  int *address_of_variable,
193  std::string module_name,
194  int &coutner);
195 
202 std::pair<DynamicModule*, std::string>
204 
205 void
207  DynamicModule *root,
208  std::string type_name,
209  std::list<DynamicModule*> &modules);
210 
211 // TODO Need to define input/output
213 get_host_module_of_member(DynamicModule *root, int *address_of_variable, int var_type = 0, std::string member_name = "");
214 
220 DynamicObject* find_channel(DynamicModule *root, int *address_of_channel);
221 
224  DynamicModule *root,
225  const std::string &name,
226  int instance_id,
227  int &counter);
228 
230 
231 void get_id(DynamicModule *root, std::string name, int *address, int &counter, bool &found);
232 
233 DynamicTargetSocket* get_target_socket(DynamicModule *root, int *address_of_socket);
234 DynamicInitSocket* get_initiator_socket(DynamicModule *root, int *address_of_socket);
235 std::set<risc::Socket*> get_mapped_target_sockets(std::string init_socket_name, std::string host_module_name);
236 std::set<risc::Socket*> get_mapped_initiator_sockets(std::string target_socket_name, std::string host_module_name);
237 #endif /* DYNAMIC_INTERNAL_REPRESENTATION_H_INCLUDED_ */
238 
239 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */
int counter
counter to get a unique variable name with number
Definition: ooo_instrumentation.cpp:33
std::list< DynamicPointer * > pointers_
Definition: dynamic_internal_representation.h:137
virtual void class_name()
Definition: dynamic_internal_representation.cpp:46
void print(unsigned int indent)
Definition: dynamic_internal_representation.cpp:166
Definition: dynamic_internal_representation.h:47
Definition: dynamic_internal_representation.h:56
Definition: dynamic_internal_representation.h:21
Definition: dynamic_internal_representation.h:129
std::string class_name_
Definition: dynamic_internal_representation.h:95
DynamicObject * find_channel(DynamicModule *root, int *address_of_channel)
Finds a channel instance in the dynamic tree via the address.
Definition: dynamic_internal_representation.cpp:649
Definition: dynamic_internal_representation.h:70
void get_id(DynamicModule *root, std::string name, int *address, int &counter, bool &found)
Definition: dynamic_internal_representation.cpp:754
Definition: dynamic_internal_representation.h:111
void get_all_components_of_type(DynamicModule *root, std::string type_name, std::list< DynamicModule * > &modules)
Definition: dynamic_internal_representation.cpp:531
virtual void class_name()
Definition: dynamic_internal_representation.cpp:12
virtual void class_name()
Definition: dynamic_internal_representation.cpp:74
virtual void class_name()
Definition: dynamic_internal_representation.cpp:196
Definition: dynamic_internal_representation.h:93
std::list< DynamicEvent * > events_
Definition: dynamic_internal_representation.h:142
virtual void class_name()
Definition: dynamic_internal_representation.cpp:61
std::set< risc::Socket * > get_mapped_target_sockets(std::string init_socket_name, std::string host_module_name)
Definition: dynamic_internal_representation.cpp:882
Definition: dynamic_internal_representation.h:103
DynamicObject * get_dynamic_object_of_variable(DynamicModule *root, std::string host_module_type_name, int host_module_instance_id, std::string reference_name, int &instance_counter)
This function searches for the mapped variable address of a reference in a given module with a specif...
Definition: dynamic_internal_representation.cpp:295
std::string name_
Definition: dynamic_internal_representation.h:15
void print(unsigned int indent)
Definition: dynamic_internal_representation.cpp:105
void print_tree(unsigned int indent=0)
Definition: dynamic_internal_representation.cpp:201
std::list< int * > events_
Definition: dynamic_internal_representation.h:25
int * event_
Definition: dynamic_internal_representation.h:114
void print(unsigned int indent)
Definition: dynamic_internal_representation.cpp:22
Definition: dynamic_internal_representation.h:30
std::list< DynamicTargetSocket * > target_sockets_
Definition: dynamic_internal_representation.h:136
void print(unsigned int indent)
Definition: dynamic_internal_representation.cpp:179
std::list< DynamicModule * > sub_modules_
Definition: dynamic_internal_representation.h:133
virtual void class_name()
Definition: dynamic_internal_representation.cpp:113
void print(unsigned int indent)
Definition: dynamic_internal_representation.cpp:118
std::list< DynamicEventAndList * > event_and_lists_
Definition: dynamic_internal_representation.h:143
std::list< DynamicEventOrList * > event_or_lists_
Definition: dynamic_internal_representation.h:144
std::string class_name_
Definition: dynamic_internal_representation.h:86
virtual void class_name()
Definition: dynamic_internal_representation.cpp:17
DynamicModule * get_module_instance(DynamicModule *root, const std::string &name, int instance_id, int &counter)
Definition: dynamic_internal_representation.cpp:694
Definition: dynamic_internal_representation.h:12
int * event_
Definition: dynamic_internal_representation.h:96
virtual void class_name()
Definition: dynamic_internal_representation.cpp:32
Definition: dynamic_internal_representation.h:121
virtual void class_name()
Definition: dynamic_internal_representation.cpp:139
Definition: dynamic_internal_representation.h:77
void print(unsigned int indent)
Definition: dynamic_internal_representation.cpp:131
virtual void class_name()
Definition: dynamic_internal_representation.cpp:174
void print(unsigned int indent)
Definition: dynamic_internal_representation.cpp:144
Definition: dynamic_internal_representation.h:63
std::list< DynamicVariable * > variables_
Definition: dynamic_internal_representation.h:139
virtual void class_name()
Definition: dynamic_internal_representation.cpp:161
virtual void class_name()
Definition: dynamic_internal_representation.cpp:100
std::pair< DynamicModule *, std::string > get_host_module_and_name_of_variable(DynamicModule *root, int *variable)
This function searchs the the variable address &#39;variable&#39; in the tree. After finding the variable add...
Definition: dynamic_internal_representation.cpp:465
DynamicModule * get_host_module_of_member(DynamicModule *root, int *address_of_variable, int var_type, std::string member_name)
Definition: dynamic_internal_representation.cpp:564
std::string class_name_
Definition: dynamic_internal_representation.h:113
void print(unsigned int indent)
Definition: dynamic_internal_representation.cpp:66
std::list< DynamicInitSocket * > init_sockets_
Definition: dynamic_internal_representation.h:135
Definition: dynamic_internal_representation.h:39
std::list< DynamicReference * > references_
Definition: dynamic_internal_representation.h:138
DynamicInitSocket * get_initiator_socket(DynamicModule *root, int *address_of_socket)
Definition: dynamic_internal_representation.cpp:853
virtual void class_name()
Definition: dynamic_internal_representation.cpp:126
void print(unsigned int indent)
Definition: dynamic_internal_representation.cpp:37
std::list< DynamicHierarchicalChannel * > sub_hierarchical_channels_
Definition: dynamic_internal_representation.h:141
std::list< DynamicPort * > ports_
Definition: dynamic_internal_representation.h:134
virtual void class_name()=0
void print(unsigned int indent)
Definition: dynamic_internal_representation.cpp:79
virtual void class_name()
Definition: dynamic_internal_representation.cpp:87
bool get_instance_id_of_hosting_module(DynamicModule *root, int *address_of_variable, std::string module_name, int &instance_counter)
This function determines to which (instance of a given) module (host module type name) a variable bel...
Definition: dynamic_internal_representation.cpp:391
int get_mapped_channel_id_of_port(DynamicPort *port)
Definition: dynamic_internal_representation.cpp:734
Definition: dynamic_internal_representation.h:84
Definition: dynamic_internal_representation.h:151
void print(unsigned int indent)
Definition: dynamic_internal_representation.cpp:51
DynamicTargetSocket * get_target_socket(DynamicModule *root, int *address_of_socket)
Definition: dynamic_internal_representation.cpp:825
std::string class_name_
Definition: dynamic_internal_representation.h:24
std::set< risc::Socket * > get_mapped_initiator_sockets(std::string target_socket_name, std::string host_module_name)
Definition: dynamic_internal_representation.cpp:961
virtual void class_name()
Definition: dynamic_internal_representation.cpp:246
std::list< DynamicPrimChannel * > sub_channels_
Definition: dynamic_internal_representation.h:140
void print(unsigned int indent)
Definition: dynamic_internal_representation.cpp:92
int * address_
Definition: dynamic_internal_representation.h:16
void print_tree(unsigned int indent=0)
Definition: dynamic_internal_representation.cpp:251