{"id":6984,"identifier":"datarepositorium/TKTALF","persistentUrl":"https://doi.org/10.34622/datarepositorium/TKTALF","protocol":"doi","authority":"10.34622","publisher":"Repositório de Dados da Universidade do Minho","publicationDate":"2025-06-26","storageIdentifier":"file://10.34622/datarepositorium/TKTALF","datasetVersion":{"id":771,"datasetId":6984,"datasetPersistentId":"doi:10.34622/datarepositorium/TKTALF","storageIdentifier":"file://10.34622/datarepositorium/TKTALF","versionNumber":1,"versionMinorNumber":0,"versionState":"RELEASED","productionDate":"2025-06-01","lastUpdateTime":"2025-06-26T14:06:29Z","releaseTime":"2025-06-26T14:06:29Z","createTime":"2025-06-18T14:20:07Z","license":"NONE","termsOfUse":"<a rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\"><img alt=\"Creative Commons Licence\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by-sa/4.0/88x31.png\" /></a><br />This work is licensed under a <a rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\">Creative Commons Attribution-ShareAlike 4.0 International License</a>.","fileAccessRequest":false,"metadataBlocks":{"citation":{"displayName":"Citation Metadata","fields":[{"typeName":"title","multiple":false,"typeClass":"primitive","value":"Integração de sensores e atuadores numa plataforma publish/subscribe para Smart Cities"},{"typeName":"author","multiple":true,"typeClass":"compound","value":[{"authorName":{"typeName":"authorName","multiple":false,"typeClass":"primitive","value":"Ribeiro, Sandro"},"authorAffiliation":{"typeName":"authorAffiliation","multiple":false,"typeClass":"primitive","value":"Universidade do Minho, Escola de Engenharia"}}]},{"typeName":"datasetContact","multiple":true,"typeClass":"compound","value":[{"datasetContactName":{"typeName":"datasetContactName","multiple":false,"typeClass":"primitive","value":"Ribeiro, Sandro"},"datasetContactAffiliation":{"typeName":"datasetContactAffiliation","multiple":false,"typeClass":"primitive","value":"Universidade do Minho, Escola de Engenharia"}}]},{"typeName":"dsDescription","multiple":true,"typeClass":"compound","value":[{"dsDescriptionValue":{"typeName":"dsDescriptionValue","multiple":false,"typeClass":"primitive","value":"Este Dataset é composto pelo código fonte e anexos desenvolvidos no âmbito do projeto de dissertação \"Integração de sensores e atuadores numa plataforma publish/subscribe para Smart Cities\""},"dsDescriptionDate":{"typeName":"dsDescriptionDate","multiple":false,"typeClass":"primitive","value":"2025-06-18"}}]},{"typeName":"subject","multiple":true,"typeClass":"controlledVocabulary","value":["Computer and Information Science","Engineering"]},{"typeName":"productionDate","multiple":false,"typeClass":"primitive","value":"2025-06-01"},{"typeName":"depositor","multiple":false,"typeClass":"primitive","value":"Ribeiro, Sandro"},{"typeName":"dateOfDeposit","multiple":false,"typeClass":"primitive","value":"2025-06-18"},{"typeName":"dateOfCollection","multiple":true,"typeClass":"compound","value":[{"dateOfCollectionEnd":{"typeName":"dateOfCollectionEnd","multiple":false,"typeClass":"primitive","value":"2025-06-01"}}]},{"typeName":"kindOfData","multiple":true,"typeClass":"primitive","value":["program source code"]},{"typeName":"software","multiple":true,"typeClass":"compound","value":[{"softwareName":{"typeName":"softwareName","multiple":false,"typeClass":"primitive","value":"java"},"softwareVersion":{"typeName":"softwareVersion","multiple":false,"typeClass":"primitive","value":"Java 21"}},{"softwareName":{"typeName":"softwareName","multiple":false,"typeClass":"primitive","value":"html"},"softwareVersion":{"typeName":"softwareVersion","multiple":false,"typeClass":"primitive","value":"HTML5"}},{"softwareName":{"typeName":"softwareName","multiple":false,"typeClass":"primitive","value":"JSON"},"softwareVersion":{"typeName":"softwareVersion","multiple":false,"typeClass":"primitive","value":"RFC 7159"}}]}]}},"files":[{"label":"00_ReadMe.txt","restricted":false,"version":2,"datasetVersionId":771,"dataFile":{"id":7018,"persistentId":"","pidURL":"","filename":"00_ReadMe.txt","contentType":"text/plain","filesize":766,"storageIdentifier":"file://19788cf9e8b-a3fe813ab89b","rootDataFileId":-1,"md5":"65a23fcd44ad7d7311a938f941969521","checksum":{"type":"MD5","value":"65a23fcd44ad7d7311a938f941969521"},"creationDate":"2025-06-19"}},{"description":"Possibilita a adição de um novo sensor na interface","label":"add_sensor.html","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6995,"persistentId":"","pidURL":"","filename":"add_sensor.html","contentType":"text/html","filesize":3321,"description":"Possibilita a adição de um novo sensor na interface","storageIdentifier":"file://1978367551d-e81985100521","rootDataFileId":-1,"md5":"042eb028bcf524ecf6f6c322efa01fc1","checksum":{"type":"MD5","value":"042eb028bcf524ecf6f6c322efa01fc1"},"creationDate":"2025-06-18"}},{"description":"classe que dá apoio ao pedido para adicionar um novo sensor","label":"AddSensor.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7013,"persistentId":"","pidURL":"","filename":"AddSensor.java","contentType":"text/x-java-source","filesize":4021,"description":"classe que dá apoio ao pedido para adicionar um novo sensor","storageIdentifier":"file://19783675511-5ce5b9ec9ea7","rootDataFileId":-1,"md5":"572080f4bdb2425d6072172012be6587","checksum":{"type":"MD5","value":"572080f4bdb2425d6072172012be6587"},"creationDate":"2025-06-18"}},{"description":"classe que vai construir os blocos","label":"Block.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7011,"persistentId":"","pidURL":"","filename":"Block.java","contentType":"text/x-java-source","filesize":2899,"description":"classe que vai construir os blocos","storageIdentifier":"file://19783675527-befef6e452b0","rootDataFileId":-1,"md5":"4681a53ab31f1b35c239004da6be2462","checksum":{"type":"MD5","value":"4681a53ab31f1b35c239004da6be2462"},"creationDate":"2025-06-18"}},{"description":"classe que vai construir os edificios","label":"Building.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6996,"persistentId":"","pidURL":"","filename":"Building.java","contentType":"text/x-java-source","filesize":2543,"description":"classe que vai construir os edificios","storageIdentifier":"file://19783675537-9ca2888dbca3","rootDataFileId":-1,"md5":"61ba483a52a4185d5cb53f1dc99cd4c1","checksum":{"type":"MD5","value":"61ba483a52a4185d5cb53f1dc99cd4c1"},"creationDate":"2025-06-18"}},{"description":"ficheiro de configuração da estrutura","label":"confignew.json","restricted":false,"directoryLabel":"a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7001,"persistentId":"","pidURL":"","filename":"confignew.json","contentType":"application/json","filesize":36598,"description":"ficheiro de configuração da estrutura","storageIdentifier":"file://197836755a3-27b98bceb046","rootDataFileId":-1,"md5":"81f394212b805be42e57c9637eda03a1","checksum":{"type":"MD5","value":"81f394212b805be42e57c9637eda03a1"},"creationDate":"2025-06-18"}},{"description":"classe que vai construir os consumidores","label":"Consumer.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7005,"persistentId":"","pidURL":"","filename":"Consumer.java","contentType":"text/x-java-source","filesize":2198,"description":"classe que vai construir os consumidores","storageIdentifier":"file://1978367553c-8e5e07b00304","rootDataFileId":-1,"md5":"1ce52066403feb5cd38028c7c0bbbc06","checksum":{"type":"MD5","value":"1ce52066403feb5cd38028c7c0bbbc06"},"creationDate":"2025-06-18"}},{"description":"classe que vai gerar os dados dos sensores","label":"Data.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6999,"persistentId":"","pidURL":"","filename":"Data.java","contentType":"text/x-java-source","filesize":812,"description":"classe que vai gerar os dados dos sensores","storageIdentifier":"file://19783675546-73db36ab9e64","rootDataFileId":-1,"md5":"e98794b2be380d929066d72509b88342","checksum":{"type":"MD5","value":"e98794b2be380d929066d72509b88342"},"creationDate":"2025-06-18"}},{"description":"diagrama de classes java","label":"Diagrama de Classes - updated.drawio.pdf","restricted":false,"directoryLabel":"a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7000,"persistentId":"","pidURL":"","filename":"Diagrama de Classes - updated.drawio.pdf","contentType":"application/pdf","filesize":96243,"description":"diagrama de classes java","storageIdentifier":"file://197836755a9-984f99e58ad1","rootDataFileId":-1,"md5":"a1f47e877bc38de5fb76c30184ec0230","checksum":{"type":"MD5","value":"a1f47e877bc38de5fb76c30184ec0230"},"creationDate":"2025-06-18"}},{"description":"classe que vai construir a estrutura divisões","label":"Division.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7014,"persistentId":"","pidURL":"","filename":"Division.java","contentType":"text/x-java-source","filesize":5227,"description":"classe que vai construir a estrutura divisões","storageIdentifier":"file://1978367554a-eb26b2946ac2","rootDataFileId":-1,"md5":"733d860f7fd6225cbdc70d03bef5343b","checksum":{"type":"MD5","value":"733d860f7fd6225cbdc70d03bef5343b"},"creationDate":"2025-06-18"}},{"description":"classe que vai construir os andares","label":"Floor.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6985,"persistentId":"","pidURL":"","filename":"Floor.java","contentType":"text/x-java-source","filesize":2789,"description":"classe que vai construir os andares","storageIdentifier":"file://19783675552-368367e1b003","rootDataFileId":-1,"md5":"4f3575b8ff413314c817c3123fafe936","checksum":{"type":"MD5","value":"4f3575b8ff413314c817c3123fafe936"},"creationDate":"2025-06-18"}},{"description":"dependências","label":"index.jsp","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7010,"persistentId":"","pidURL":"","filename":"index.jsp","contentType":"text/html","filesize":52,"description":"dependências","storageIdentifier":"file://19783675559-8b8fb0f448ba","rootDataFileId":-1,"md5":"a00616e257f1b037f2933ab988210e0f","checksum":{"type":"MD5","value":"a00616e257f1b037f2933ab988210e0f"},"creationDate":"2025-06-18"}},{"description":"fazer pedido de histórico de dados","label":"KafkaInterfaceConsumer.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6992,"persistentId":"","pidURL":"","filename":"KafkaInterfaceConsumer.java","contentType":"text/x-java-source","filesize":3381,"description":"fazer pedido de histórico de dados","storageIdentifier":"file://1978367555d-356d708f1f5e","rootDataFileId":-1,"md5":"88c90325efb903f3b7a645fa4264c3c3","checksum":{"type":"MD5","value":"88c90325efb903f3b7a645fa4264c3c3"},"creationDate":"2025-06-18"}},{"description":"fazer pedido de histórico de dados","label":"KafkaInterfaceConsumerTimestamps.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6990,"persistentId":"","pidURL":"","filename":"KafkaInterfaceConsumerTimestamps.java","contentType":"text/x-java-source","filesize":3583,"description":"fazer pedido de histórico de dados","storageIdentifier":"file://19783675561-f0fd79d1f818","rootDataFileId":-1,"md5":"123397a7e26da00b8d1783f6fee7841c","checksum":{"type":"MD5","value":"123397a7e26da00b8d1783f6fee7841c"},"creationDate":"2025-06-18"}},{"description":"classe de modelo de sensor","label":"ModelA.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6997,"persistentId":"","pidURL":"","filename":"ModelA.java","contentType":"text/x-java-source","filesize":2653,"description":"classe de modelo de sensor","storageIdentifier":"file://19783675566-1b9281347164","rootDataFileId":-1,"md5":"15911071c5e120321235f4c43aaebb86","checksum":{"type":"MD5","value":"15911071c5e120321235f4c43aaebb86"},"creationDate":"2025-06-18"}},{"description":"classe de modelo de sensor","label":"ModelB.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6993,"persistentId":"","pidURL":"","filename":"ModelB.java","contentType":"text/x-java-source","filesize":1884,"description":"classe de modelo de sensor","storageIdentifier":"file://1978367556a-d6b30fb61c12","rootDataFileId":-1,"md5":"b8abfb038d9bee2b88b04fb0ae015454","checksum":{"type":"MD5","value":"b8abfb038d9bee2b88b04fb0ae015454"},"creationDate":"2025-06-18"}},{"description":"classe de modelo de sensor","label":"ModelRandom.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7004,"persistentId":"","pidURL":"","filename":"ModelRandom.java","contentType":"text/x-java-source","filesize":1595,"description":"classe de modelo de sensor","storageIdentifier":"file://1978367556d-228ed882f0ed","rootDataFileId":-1,"md5":"da7732f85a40133c4118c1b8abab11ca","checksum":{"type":"MD5","value":"da7732f85a40133c4118c1b8abab11ca"},"creationDate":"2025-06-18"}},{"description":"Servlet que trata os pedidos das interfaces","label":"NewServlet.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7003,"persistentId":"","pidURL":"","filename":"NewServlet.java","contentType":"text/x-java-source","filesize":28178,"description":"Servlet que trata os pedidos das interfaces","storageIdentifier":"file://19783675571-465eda5c9fef","rootDataFileId":-1,"md5":"9826ac8989409c80315d0c9ff1f529d9","checksum":{"type":"MD5","value":"9826ac8989409c80315d0c9ff1f529d9"},"creationDate":"2025-06-18"}},{"description":"notas","label":"notas.txt","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7002,"persistentId":"","pidURL":"","filename":"notas.txt","contentType":"text/plain","filesize":723,"description":"notas","storageIdentifier":"file://19783675575-410c95e4bb79","rootDataFileId":-1,"md5":"fa3b455e7b5702395363ae2c7212f55b","checksum":{"type":"MD5","value":"fa3b455e7b5702395363ae2c7212f55b"},"creationDate":"2025-06-18"}},{"description":"classe que vai construir os produtores","label":"Producer.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7007,"persistentId":"","pidURL":"","filename":"Producer.java","contentType":"text/x-java-source","filesize":4772,"description":"classe que vai construir os produtores","storageIdentifier":"file://19783675578-3b869a4a3998","rootDataFileId":-1,"md5":"d8080ee684b1066960b40cf2c9b6c7f0","checksum":{"type":"MD5","value":"d8080ee684b1066960b40cf2c9b6c7f0"},"creationDate":"2025-06-18"}},{"description":"classe que vai construir o sensores de tipo A","label":"SensorA.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6986,"persistentId":"","pidURL":"","filename":"SensorA.java","contentType":"text/x-java-source","filesize":4166,"description":"classe que vai construir o sensores de tipo A","storageIdentifier":"file://19783675581-8635e8ae0f11","rootDataFileId":-1,"md5":"762bb940860820e541229cafa9c554b4","checksum":{"type":"MD5","value":"762bb940860820e541229cafa9c554b4"},"creationDate":"2025-06-18"}},{"description":"interface abstrata de apoio aos sensores","label":"Sensor.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7009,"persistentId":"","pidURL":"","filename":"Sensor.java","contentType":"text/x-java-source","filesize":479,"description":"interface abstrata de apoio aos sensores","storageIdentifier":"file://1978367557c-50f6b05baaa6","rootDataFileId":-1,"md5":"77b6ab4acdf59cea83d808067a5c2cda","checksum":{"type":"MD5","value":"77b6ab4acdf59cea83d808067a5c2cda"},"creationDate":"2025-06-18"}},{"description":"interface abstrata de apoio aos modelos dos sensores","label":"SensorModel.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6994,"persistentId":"","pidURL":"","filename":"SensorModel.java","contentType":"text/x-java-source","filesize":77,"description":"interface abstrata de apoio aos modelos dos sensores","storageIdentifier":"file://19783675584-91294788bc6d","rootDataFileId":-1,"md5":"1e3cacfbfeb40825c4eec96d6917ada2","checksum":{"type":"MD5","value":"1e3cacfbfeb40825c4eec96d6917ada2"},"creationDate":"2025-06-18"}},{"description":"sensor de temperatura enxterior","label":"SensorTempExt.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6991,"persistentId":"","pidURL":"","filename":"SensorTempExt.java","contentType":"text/x-java-source","filesize":4929,"description":"sensor de temperatura enxterior","storageIdentifier":"file://19783675587-403df8e96961","rootDataFileId":-1,"md5":"1e1221a855a117548b63251d1265230f","checksum":{"type":"MD5","value":"1e1221a855a117548b63251d1265230f"},"creationDate":"2025-06-18"}},{"description":"sensor de temperatura interior","label":"SensorTempInt.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6998,"persistentId":"","pidURL":"","filename":"SensorTempInt.java","contentType":"text/x-java-source","filesize":4522,"description":"sensor de temperatura interior","storageIdentifier":"file://1978367558b-440c9fa5deaf","rootDataFileId":-1,"md5":"131551b9b0a3563fc451f26ab405d2de","checksum":{"type":"MD5","value":"131551b9b0a3563fc451f26ab405d2de"},"creationDate":"2025-06-18"}},{"description":"interface que apresenta as simulações disponiveis","label":"simulations.html","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6987,"persistentId":"","pidURL":"","filename":"simulations.html","contentType":"text/html","filesize":6089,"description":"interface que apresenta as simulações disponiveis","storageIdentifier":"file://1978367558f-cef35d1bebbf","rootDataFileId":-1,"md5":"cfafb437da24f676c507ec7c9a2e628c","checksum":{"type":"MD5","value":"cfafb437da24f676c507ec7c9a2e628c"},"creationDate":"2025-06-18"}},{"description":"classe que vai construir os simuladores","label":"Simulator.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7012,"persistentId":"","pidURL":"","filename":"Simulator.java","contentType":"text/x-java-source","filesize":5432,"description":"classe que vai construir os simuladores","storageIdentifier":"file://19783675592-8fc983a77849","rootDataFileId":-1,"md5":"86e59b79045bf7b3678e630e6314b122","checksum":{"type":"MD5","value":"86e59b79045bf7b3678e630e6314b122"},"creationDate":"2025-06-18"}},{"description":"classe que vai construir os espaços/secções","label":"Space.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6989,"persistentId":"","pidURL":"","filename":"Space.java","contentType":"text/x-java-source","filesize":1618,"description":"classe que vai construir os espaços/secções","storageIdentifier":"file://19783675596-55459e872b37","rootDataFileId":-1,"md5":"245e6e113e3afa2c53d6bbc3694ac2ab","checksum":{"type":"MD5","value":"245e6e113e3afa2c53d6bbc3694ac2ab"},"creationDate":"2025-06-18"}},{"description":"ficheiro de configuração da estrutura","label":"testConfig.json","restricted":false,"directoryLabel":"a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":6988,"persistentId":"","pidURL":"","filename":"testConfig.json","contentType":"application/json","filesize":65850,"description":"ficheiro de configuração da estrutura","storageIdentifier":"file://197836755ac-fcbcf6353abc","rootDataFileId":-1,"md5":"e94b5042e8bb62fea398b51b6ade3776","checksum":{"type":"MD5","value":"e94b5042e8bb62fea398b51b6ade3776"},"creationDate":"2025-06-18"}},{"description":"classe de testes","label":"TestServlet.java","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7008,"persistentId":"","pidURL":"","filename":"TestServlet.java","contentType":"text/x-java-source","filesize":4404,"description":"classe de testes","storageIdentifier":"file://19783675599-b0ab49523f1b","rootDataFileId":-1,"md5":"473b92ce48be6be1e7bacab3fd183b20","checksum":{"type":"MD5","value":"473b92ce48be6be1e7bacab3fd183b20"},"creationDate":"2025-06-18"}},{"description":"interface de simulador","label":"tomcat_app.html","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7015,"persistentId":"","pidURL":"","filename":"tomcat_app.html","contentType":"text/html","filesize":65071,"description":"interface de simulador","storageIdentifier":"file://1978367559d-92a37abc09d0","rootDataFileId":-1,"md5":"2da66dd8b63461a476f9f33078877888","checksum":{"type":"MD5","value":"2da66dd8b63461a476f9f33078877888"},"creationDate":"2025-06-18"}},{"description":"interface para adicionar uma nova simulação","label":"tomcat_form.html","restricted":false,"directoryLabel":"a85316-java.html.javascript/a85316-java.html.javascript","version":2,"datasetVersionId":771,"dataFile":{"id":7006,"persistentId":"","pidURL":"","filename":"tomcat_form.html","contentType":"text/html","filesize":7846,"description":"interface para adicionar uma nova simulação","storageIdentifier":"file://197836755a0-4093cf569071","rootDataFileId":-1,"md5":"28d2daab44672e86a4245fdb146add1c","checksum":{"type":"MD5","value":"28d2daab44672e86a4245fdb146add1c"},"creationDate":"2025-06-18"}}],"citation":"Ribeiro, Sandro, 2025, \"Integração de sensores e atuadores numa plataforma publish/subscribe para Smart Cities\", https://doi.org/10.34622/datarepositorium/TKTALF, Repositório de Dados da Universidade do Minho, V1"}}