Claudio M. de Farias , Italo C. Brito , Luci Pirmez , Flávia C. Delicato , Paulo F. Pires , Taniro C. Rodrigues , Igor L. dos Santos , Luiz F.R.C. Carmo , Thais Batista
{"title":"COMFIT: A development environment for the Internet of Things","authors":"Claudio M. de Farias , Italo C. Brito , Luci Pirmez , Flávia C. Delicato , Paulo F. Pires , Taniro C. Rodrigues , Igor L. dos Santos , Luiz F.R.C. Carmo , Thais Batista","doi":"10.1016/j.future.2016.06.031","DOIUrl":null,"url":null,"abstract":"<div><p>This paper presents COMFIT (<strong><em>C</em></strong>l<strong><em>o</em></strong>ud and <strong><em>M</em></strong><span>odel based IDE </span><strong><em>f</em></strong>or the <strong><em>I</em></strong>nternet of <strong><em>T</em></strong><span>hings), a development environment for the Internet of Things<span><span> that was built grounded on the paradigms of model driven development and </span>cloud computing. COMFIT is composed of two different modules: (1) the </span></span><em>App Development Module</em>, a model-driven architecture (MDA) infrastructure, and (2) the <em>App Management and Execution Module</em>, a module that contains cloud-based web interface connected to a server hosted in the cloud with compilers and simulators for developing Internet of Things (IoT) applications. The <em>App Development Module</em> allows the developers to design IoT applications using high abstraction artifacts (models), which are tailored to either the application perspective or the network perspective, thus creating a separation between these two concerns. As models can be automatically transformed into code through the <em>App Development Module</em><span><span>, COMFIT creates an environment where there is no need of additional configurations to properly compile or simulate the generated code, integrating the development lifecycle<span> of IoT applications into a single environment partially hosted in the client side and partially in the cloud. In its current version, COMFIT supports two operating systems, namely Contiki and TinyOS, which are widely used in IoT devices<span>. COMFIT supports automatic code generation, execution of simulations, and code compilation of applications for these platforms with low development effort. Finally, COMFIT is able to interact with IoT-lab, an open </span></span></span>testbed for IoT applications, which allows the developers to test their applications with different configurations without the need of using local IoT devices. Several evaluations were performed to assess COMFIT’s key features in terms of development effort, quality of generated code, and scalability.</span></p></div>","PeriodicalId":55132,"journal":{"name":"Future Generation Computer Systems-The International Journal of Escience","volume":"75 ","pages":"Pages 128-144"},"PeriodicalIF":6.2000,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/j.future.2016.06.031","citationCount":"41","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Future Generation Computer Systems-The International Journal of Escience","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0167739X16302163","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 41
Abstract
This paper presents COMFIT (Cloud and Model based IDE for the Internet of Things), a development environment for the Internet of Things that was built grounded on the paradigms of model driven development and cloud computing. COMFIT is composed of two different modules: (1) the App Development Module, a model-driven architecture (MDA) infrastructure, and (2) the App Management and Execution Module, a module that contains cloud-based web interface connected to a server hosted in the cloud with compilers and simulators for developing Internet of Things (IoT) applications. The App Development Module allows the developers to design IoT applications using high abstraction artifacts (models), which are tailored to either the application perspective or the network perspective, thus creating a separation between these two concerns. As models can be automatically transformed into code through the App Development Module, COMFIT creates an environment where there is no need of additional configurations to properly compile or simulate the generated code, integrating the development lifecycle of IoT applications into a single environment partially hosted in the client side and partially in the cloud. In its current version, COMFIT supports two operating systems, namely Contiki and TinyOS, which are widely used in IoT devices. COMFIT supports automatic code generation, execution of simulations, and code compilation of applications for these platforms with low development effort. Finally, COMFIT is able to interact with IoT-lab, an open testbed for IoT applications, which allows the developers to test their applications with different configurations without the need of using local IoT devices. Several evaluations were performed to assess COMFIT’s key features in terms of development effort, quality of generated code, and scalability.
期刊介绍:
Computing infrastructures and systems are constantly evolving, resulting in increasingly complex and collaborative scientific applications. To cope with these advancements, there is a growing need for collaborative tools that can effectively map, control, and execute these applications.
Furthermore, with the explosion of Big Data, there is a requirement for innovative methods and infrastructures to collect, analyze, and derive meaningful insights from the vast amount of data generated. This necessitates the integration of computational and storage capabilities, databases, sensors, and human collaboration.
Future Generation Computer Systems aims to pioneer advancements in distributed systems, collaborative environments, high-performance computing, and Big Data analytics. It strives to stay at the forefront of developments in grids, clouds, and the Internet of Things (IoT) to effectively address the challenges posed by these wide-area, fully distributed sensing and computing systems.