From 9e9949faa57944421a9aaf0c7bb529e517254bcf Mon Sep 17 00:00:00 2001 From: juanmanuel Date: Sun, 3 Nov 2024 14:49:30 -0500 Subject: [PATCH] feat: assing new config, refactoring --- LICENSE.md | 21 + README.md | 51 +- config/ai_test/config.xml | 55 + config/ai_test/data.xml | 2597 ++++++++++++++++++ config/ai_test/map.xml | 339 +++ config/ai_test/net.xml | 879 ++++++ config/conc_stream_pack_test/data.xml | 0 config/conc_stream_pack_test/map.xml | 0 config/conc_stream_pack_test/net.xml | 0 config/only_config_msg_test/data.xml | 0 config/only_config_msg_test/map.xml | 0 config/only_config_msg_test/net.xml | 0 config/simple_2_layer_test/data.xml | 0 config/simple_2_layer_test/map.xml | 0 config/simple_2_layer_test/net.xml | 0 config/simple_2_point_test/2pt_data.xml | 0 config/simple_2_point_test/2pt_map.xml | 0 config/simple_2_point_test/net.xml | 0 config/simple_test/net.xml | 0 config/simple_test/simple_data.xml | 0 config/simple_test/simple_map.xml | 0 scripts/gen_map_random.py | 26 + src/networkInterface/NetworkInterfaceTlm.cpp | 16 +- src/router/router_cs.cpp | 6 +- src/utils/configuration.h | 8 +- src/utils/utils.cpp | 10 + src/utils/utils.h | 8 + 27 files changed, 3995 insertions(+), 21 deletions(-) create mode 100644 LICENSE.md create mode 100755 config/ai_test/config.xml create mode 100755 config/ai_test/data.xml create mode 100644 config/ai_test/map.xml create mode 100755 config/ai_test/net.xml mode change 100644 => 100755 config/conc_stream_pack_test/data.xml mode change 100644 => 100755 config/conc_stream_pack_test/map.xml mode change 100644 => 100755 config/conc_stream_pack_test/net.xml mode change 100644 => 100755 config/only_config_msg_test/data.xml mode change 100644 => 100755 config/only_config_msg_test/map.xml mode change 100644 => 100755 config/only_config_msg_test/net.xml mode change 100644 => 100755 config/simple_2_layer_test/data.xml mode change 100644 => 100755 config/simple_2_layer_test/map.xml mode change 100644 => 100755 config/simple_2_layer_test/net.xml mode change 100644 => 100755 config/simple_2_point_test/2pt_data.xml mode change 100644 => 100755 config/simple_2_point_test/2pt_map.xml mode change 100644 => 100755 config/simple_2_point_test/net.xml mode change 100644 => 100755 config/simple_test/net.xml mode change 100644 => 100755 config/simple_test/simple_data.xml mode change 100644 => 100755 config/simple_test/simple_map.xml create mode 100644 scripts/gen_map_random.py diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..dbb7cf3 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Juan Neyra + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 970cfd6..dbf0838 100755 --- a/README.md +++ b/README.md @@ -1,9 +1,50 @@ -# Defines +# TLM NOC Simulator -`cmake -DDEFINE_ENABLE_NETRACE=ON` +## Description -enables netrace mode +TLM NOC Simulator -`cmake -DDEFINE_ENABLE_GUI=ON` +## Getting Started -enables GUI mode +### Dependencies + +* System C +* TLM + +### Installing + +* Run build.sh script +``` +./build.sh +``` + +### Executing program + +* A configuration is needed to execute the program. The configurations are located inside folder config +* Each configuration must have these four files: config.xml, data.xml, map.xml and net.xml +* config.xml describes the simulation time, the path for data, map and net xml files and other specifications +* data.xml describes all the tasks to execute +* map.xml maps a task to a node in the net +* net.xml describes the organization of the Processing Elements and Routers +* The name of the configuration folder is passed to the program as +``` +./sim --configFolder +``` +* For example, to run configuration "simple_test" +``` +./sim --configFolder simple_test +``` + + +## Version History + +* 0.1 + * Initial Release + +## License + +This project is licensed under the MIT License - see the LICENSE.md file for details + +## Acknowledgments + +* [Ratatoskr NoC simulator](https://github.com/jmjos/ratatoskr) \ No newline at end of file diff --git a/config/ai_test/config.xml b/config/ai_test/config.xml new file mode 100755 index 0000000..d0069a5 --- /dev/null +++ b/config/ai_test/config.xml @@ -0,0 +1,55 @@ + + + + + report + + + config/ai_test/net.xml + + + + + + task + config/ai_test/data.xml + config/ai_test/map.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 6 9 10 + + diff --git a/config/ai_test/data.xml b/config/ai_test/data.xml new file mode 100755 index 0000000..ee7adb7 --- /dev/null +++ b/config/ai_test/data.xml @@ -0,0 +1,2597 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/config/ai_test/map.xml b/config/ai_test/map.xml new file mode 100644 index 0000000..6a6468f --- /dev/null +++ b/config/ai_test/map.xml @@ -0,0 +1,339 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/config/ai_test/net.xml b/config/ai_test/net.xml new file mode 100755 index 0000000..7407f52 --- /dev/null +++ b/config/ai_test/net.xml @@ -0,0 +1,879 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/conc_stream_pack_test/data.xml b/config/conc_stream_pack_test/data.xml old mode 100644 new mode 100755 diff --git a/config/conc_stream_pack_test/map.xml b/config/conc_stream_pack_test/map.xml old mode 100644 new mode 100755 diff --git a/config/conc_stream_pack_test/net.xml b/config/conc_stream_pack_test/net.xml old mode 100644 new mode 100755 diff --git a/config/only_config_msg_test/data.xml b/config/only_config_msg_test/data.xml old mode 100644 new mode 100755 diff --git a/config/only_config_msg_test/map.xml b/config/only_config_msg_test/map.xml old mode 100644 new mode 100755 diff --git a/config/only_config_msg_test/net.xml b/config/only_config_msg_test/net.xml old mode 100644 new mode 100755 diff --git a/config/simple_2_layer_test/data.xml b/config/simple_2_layer_test/data.xml old mode 100644 new mode 100755 diff --git a/config/simple_2_layer_test/map.xml b/config/simple_2_layer_test/map.xml old mode 100644 new mode 100755 diff --git a/config/simple_2_layer_test/net.xml b/config/simple_2_layer_test/net.xml old mode 100644 new mode 100755 diff --git a/config/simple_2_point_test/2pt_data.xml b/config/simple_2_point_test/2pt_data.xml old mode 100644 new mode 100755 diff --git a/config/simple_2_point_test/2pt_map.xml b/config/simple_2_point_test/2pt_map.xml old mode 100644 new mode 100755 diff --git a/config/simple_2_point_test/net.xml b/config/simple_2_point_test/net.xml old mode 100644 new mode 100755 diff --git a/config/simple_test/net.xml b/config/simple_test/net.xml old mode 100644 new mode 100755 diff --git a/config/simple_test/simple_data.xml b/config/simple_test/simple_data.xml old mode 100644 new mode 100755 diff --git a/config/simple_test/simple_map.xml b/config/simple_test/simple_map.xml old mode 100644 new mode 100755 diff --git a/scripts/gen_map_random.py b/scripts/gen_map_random.py new file mode 100644 index 0000000..eb58ba8 --- /dev/null +++ b/scripts/gen_map_random.py @@ -0,0 +1,26 @@ +import random + +NET_SIZE_X = 4 +NET_SIZE_Y = 4 +NET_SIZE_Z = 1 + +NUM_TASKS = 84 + +MAP_START = """ +""" + +BIND = """ + + + """ + +MAP_END = "" + +NUM_NODES = NET_SIZE_X*NET_SIZE_Y*NET_SIZE_Z + +print(MAP_START) +for i in range(NUM_TASKS): + node_id = random.randint(0, NUM_NODES-1) + print(BIND.format(i, node_id)) +print(MAP_END) + diff --git a/src/networkInterface/NetworkInterfaceTlm.cpp b/src/networkInterface/NetworkInterfaceTlm.cpp index 5eaebb7..ca6c4ab 100755 --- a/src/networkInterface/NetworkInterfaceTlm.cpp +++ b/src/networkInterface/NetworkInterfaceTlm.cpp @@ -168,9 +168,9 @@ void NetworkInterfaceTlm::send_flit(PacketCS* p, Flit* f){ sc_time delay = sc_time(REQ_INIT_DELAY, UNITS_DELAY); tlm::tlm_phase send_phase = tlm::BEGIN_REQ; - int lay = p->dataType == TYPE_STREAM ? 1:0; - log_info("Sending flit of type "+STR_TYPES[p->dataType]+ - " to layer "+to_string(lay)); + string type_name = get_type_name(p->dataType); + int lay = type_name == TYPE_STREAM ? 1:0; + log_info("Sending flit of type "+ type_name + " to layer "+to_string(lay)); (*initiator[lay])->nb_transport_fw(*trans, send_phase, delay); update_credits(*trans, -1); } @@ -191,7 +191,7 @@ int NetworkInterfaceTlm::get_packet_id_from_extension(tlm_gp& trans){ bool NetworkInterfaceTlm::check_cs_needed(tlm_gp& trans){ int type = get_type_from_extension(trans); - return type == TYPE_ROUT_CONFIG; + return get_type_name(type) == TYPE_ROUT_CONFIG; } void NetworkInterfaceTlm::send_cs_rout_conf_msg(tlm_gp& trans){ @@ -421,7 +421,7 @@ void NetworkInterfaceTlm::receive_and_process_flit(tlm_gp& trans){ //log_info("Credit counter updated: "+to_string(credit_counter)); // send response if not type stream - if(p->dataType != TYPE_STREAM){ + if(get_type_name(p->dataType) != TYPE_STREAM){ if(resp_in_progress) { if(nxt_resp_pend){ log_fatal("Attempt to have two pending responses in target"); @@ -487,7 +487,7 @@ tlm::tlm_sync_enum NetworkInterfaceTlm::send_end_req(tlm_gp& trans){ // Queue internal event to mark beginning of response int type = get_type_from_extension(trans); - delay = type != TYPE_STREAM ? + delay = get_type_name(type) != TYPE_STREAM ? delay + sc_time(INTERN_PROC_DELAY, UNITS_DELAY) : SC_ZERO_TIME; // no processing on stream target_peq.notify(trans, INTERNAL_PROC_PHASE, delay); @@ -520,10 +520,10 @@ void NetworkInterfaceTlm::send_response(tlm_gp& trans){ } void NetworkInterfaceTlm::update_credits(tlm_gp&trans, int added_creds){ - int type = get_type_from_extension(trans); + string type_name = get_type_name(get_type_from_extension(trans)); int p_id = get_packet_id_from_extension(trans); - if(type == TYPE_PACKET || (type==TYPE_ROUT_CONFIG && p_id != -1)){ + if(type_name == TYPE_PACKET || (type_name == TYPE_ROUT_CONFIG && p_id != -1)){ credit_counter += added_creds; log_info("Credit counter updated: "+to_string(credit_counter)); } diff --git a/src/router/router_cs.cpp b/src/router/router_cs.cpp index 6662bbf..0d3db70 100755 --- a/src/router/router_cs.cpp +++ b/src/router/router_cs.cpp @@ -139,10 +139,10 @@ tlm_sync_enum TlmRouterCS::send_end_req(int link, tlm_gp& trans){ } delay = SC_ZERO_TIME; // no processing in circuit switching routers // Queue internal event to mark beginning of response - int type = get_type_from_extension(trans); - phase = (type == TYPE_STREAM) ? INTERNAL_PROC_PHASE : + string type_name = get_type_name(get_type_from_extension(trans)); + phase = (type_name == TYPE_STREAM) ? INTERNAL_PROC_PHASE : CONF_ROUT_PHASE; - log_info(link, trans, "Type of processed message: "+STR_TYPES[type]); + log_info(link, trans, "Type of processed message: " + type_name); target_peq.notify(trans, phase, delay); return status; diff --git a/src/utils/configuration.h b/src/utils/configuration.h index 013ec8a..5172a1a 100755 --- a/src/utils/configuration.h +++ b/src/utils/configuration.h @@ -46,11 +46,9 @@ typedef tlm::tlm_generic_payload tlm_gp; // for circuit switching noc #define NUM_ACC_LAYERS 2 #define NUM_CREDITS_CS 1 -#define TYPE_PACKET 0 -#define TYPE_STREAM 1 -#define TYPE_ROUT_CONFIG 2 - -const std::string STR_TYPES[3] = {"packet", "stream", "configRouter"}; +#define TYPE_PACKET "Packet" +#define TYPE_STREAM "Stream" +#define TYPE_ROUT_CONFIG "ConfigRouter" /********************** EXTENSIONS ****************************/ diff --git a/src/utils/utils.cpp b/src/utils/utils.cpp index beeb585..50d0f3d 100755 --- a/src/utils/utils.cpp +++ b/src/utils/utils.cpp @@ -57,4 +57,14 @@ void get_max_pos(uint8_t max_pos[3]){ gr_pos[1].end())[0]/dists[1]); max_pos[2] = 1+round(max_element(gr_pos[2].begin(), gr_pos[2].end())[0]/dists[2]); +} + +string get_type_name(dataTypeID_t id){ + GlobalResourcesCS& globalResources = GlobalResourcesCS::getInstance(); + for(int i=0; i < globalResources.dataTypes.size(); i++){ + if(globalResources.dataTypes[i].id == id){ + return globalResources.dataTypes[i].name; + } + } + return ""; } \ No newline at end of file diff --git a/src/utils/utils.h b/src/utils/utils.h index 134fad3..a2b7bf2 100755 --- a/src/utils/utils.h +++ b/src/utils/utils.h @@ -23,6 +23,7 @@ #include #include "configuration.h" +#include "ratatoskrUtils/utils/Structures.h" using namespace sc_core; @@ -62,3 +63,10 @@ void convert_pos_to_int(float pos_float[3], uint8_t pos_int[3]); * @param max_pos array to store the value of max positions */ void get_max_pos(uint8_t max_pos[3]); + +/** + * Gets the name of type given the id + * + * @param id id type whose name needs to be returned + */ +std::string get_type_name(dataTypeID_t id); \ No newline at end of file