Feb 2022 International Journal of Innovative Technology and Creative Engineering (ISSN:2045-8711)

Page 1

INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

UK: Managing Editor International Journal of Innovative Technology and Creative Engineering 1a park lane, Cranford London TW59WA UK

USA: Editor International Journal of Innovative Technology and Creative Engineering Dr. Arumugam Department of Chemistry University of Georgia GA-30602, USA.

India: Editor International Journal of Innovative Technology & Creative Engineering 36/4 12th Avenue, 1st cross St, Vaigai Colony Ashok Nagar Chennai, India 600083 Email: editor@ijitce.co.uk

www.ijitce.co.uk

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

IJITCE PUBLICATION

International Journal of Innovative Technology & Creative Engineering Vol.12 No.02 February 2022

www.ijitce.co.uk

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

Dear Researcher, Greetings! Articles in this issue discusses about Arduino Support to Quorum Programming Language Through Cloud Computing.

We look forward many more new technologies in the next month. Thanks, Editorial Team IJITCE

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

Editorial Members Dr. Chee Kyun Ng Ph.D Department of Computer and Communication Systems, Faculty of Engineering,Universiti Putra Malaysia,UPMSerdang, 43400 Selangor,Malaysia. Dr. Simon SEE Ph.D Chief Technologist and Technical Director at Oracle Corporation, Associate Professor (Adjunct) at Nanyang Technological University Professor (Adjunct) at ShangaiJiaotong University, 27 West Coast Rise #08-12,Singapore 127470 Dr. sc.agr. Horst Juergen SCHWARTZ Ph.D, Humboldt-University of Berlin,Faculty of Agriculture and Horticulture,Asternplatz 2a, D-12203 Berlin,Germany Dr. Marco L. BianchiniPh.D Italian National Research Council; IBAF-CNR,Via Salaria km 29.300, 00015 MonterotondoScalo (RM),Italy Dr. NijadKabbara Ph.D Marine Research Centre / Remote Sensing Centre/ National Council for Scientific Research, P. O. Box: 189 Jounieh,Lebanon Dr. Aaron Solomon Ph.D Department of Computer Science, National Chi Nan University,No. 303, University Road,Puli Town, Nantou County 54561,Taiwan Dr. Arthanariee. A. M M.Sc.,M.Phil.,M.S.,Ph.D Director - Bharathidasan School of Computer Applications, Ellispettai, Erode, Tamil Nadu,India Dr. Takaharu KAMEOKA, Ph.D Professor, Laboratory of Food, Environmental & Cultural Informatics Division of Sustainable Resource Sciences, Graduate School of Bioresources,Mie University, 1577 Kurimamachiya-cho, Tsu, Mie, 514-8507, Japan Dr. M. Sivakumar M.C.A.,ITIL.,PRINCE2.,ISTQB.,OCP.,ICP. Ph.D. Technology Architect, Healthcare and Insurance Industry, Chicago, USA Dr. Bulent AcmaPh.D Anadolu University, Department of Economics,Unit of Southeastern Anatolia Project(GAP),26470 Eskisehir,TURKEY Dr. Selvanathan Arumugam Ph.D Research Scientist, Department of Chemistry, University of Georgia, GA-30602,USA. Dr. S.Prasath Ph.D Assistant Professor, Department of Computer Science, Nandha Arts & Science College, Erode , Tamil Nadu, India Dr. P.Periyasamy, M.C.A.,M.Phil.,Ph.D. Associate Professor, Department of Computer Science and Applications, SRM Trichy Arts and Science College, SRM Nagar, Trichy - Chennai Highway, Near Samayapuram, Trichy - 621 105, Mr. V N Prem Anand Secretary, Cyber Society of India

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

Review Board Members Dr. Rajaram Venkataraman Chief Executive Officer, Vel Tech TBI || Convener, FICCI TN State Technology Panel || Founder, Navya Insights || President, SPIN Chennai Dr. Paul Koltun Senior Research ScientistLCA and Industrial Ecology Group,Metallic& Ceramic Materials,CSIRO Process Science & Engineering Private Bag 33, Clayton South MDC 3169,Gate 5 Normanby Rd., Clayton Vic. 3168, Australia Dr. Zhiming Yang MD., Ph. D. Department of Radiation Oncology and Molecular Radiation Science,1550 Orleans Street Rm 441, Baltimore MD, 21231,USA Dr. Jifeng Wang Department of Mechanical Science and Engineering, University of Illinois at Urbana-Champaign Urbana, Illinois, 61801, USA Dr. Giuseppe Baldacchini ENEA - Frascati Research Center, Via Enrico Fermi 45 - P.O. Box 65,00044 Frascati, Roma, ITALY. Dr. MutamedTurkiNayefKhatib Assistant Professor of Telecommunication Engineering,Head of Telecommunication Engineering Department,Palestine Technical University (Kadoorie), TulKarm, PALESTINE. Dr.P.UmaMaheswari Prof &Head,Depaartment of CSE/IT, INFO Institute of Engineering,Coimbatore. Dr. T. Christopher, Ph.D., Assistant Professor &Head,Department of Computer Science,Government Arts College(Autonomous),Udumalpet, India. Dr. T. DEVI Ph.D. Engg. (Warwick, UK), Head,Department of Computer Applications,Bharathiar University,Coimbatore-641 046, India. Dr. Renato J. orsato Professor at FGV-EAESP,Getulio Vargas Foundation,São Paulo Business School,RuaItapeva, 474 (8° andar),01332-000, São Paulo (SP), Brazil Visiting Scholar at INSEAD,INSEAD Social Innovation Centre,Boulevard de Constance,77305 Fontainebleau - France Y. BenalYurtlu Assist. Prof. OndokuzMayis University Dr.Sumeer Gul Assistant Professor,Department of Library and Information Science,University of Kashmir,India Dr. ChutimaBoonthum-Denecke, Ph.D Department of Computer Science,Science& Technology Bldg., Rm 120,Hampton University,Hampton, VA 23688 Dr. Renato J. Orsato Professor at FGV-EAESP,Getulio Vargas Foundation,São Paulo Business SchoolRuaItapeva, 474 (8° andar),01332-000, São Paulo (SP), Brazil Dr. Lucy M. Brown, Ph.D. Texas State University,601 University Drive,School of Journalism and Mass Communication,OM330B,San Marcos, TX 78666 JavadRobati Crop Production Departement,University of Maragheh,Golshahr,Maragheh,Iran VineshSukumar (PhD, MBA) Product Engineering Segment Manager, Imaging Products, Aptina Imaging Inc. Dr. Binod Kumar PhD(CS), M.Phil.(CS), MIAENG,MIEEE Professor, JSPM's Rajarshi Shahu College of Engineering, MCA Dept., Pune, India. Dr. S. B. Warkad Associate Professor, Department of Electrical Engineering, Priyadarshini College of Engineering, Nagpur, India Dr. doc. Ing. RostislavChoteborský, Ph.D. Katedramateriálu a strojírenskétechnologieTechnickáfakulta,Ceskázemedelskáuniverzita v Praze,Kamýcká 129, Praha 6, 165 21

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022 Dr. Paul Koltun Senior Research ScientistLCA and Industrial Ecology Group,Metallic& Ceramic Materials,CSIRO Process Science & Engineering Private Bag 33, Clayton South MDC 3169,Gate 5 Normanby Rd., Clayton Vic. 3168

DR.ChutimaBoonthum-Denecke, Ph.D Department of Computer Science,Science& Technology Bldg.,HamptonUniversity,Hampton, VA 23688 Mr. Abhishek Taneja B.sc(Electronics),M.B.E,M.C.A.,M.Phil., Assistant Professor in the Department of Computer Science & Applications, at Dronacharya Institute of Management and Technology, Kurukshetra. (India). Dr. Ing. RostislavChotěborský,ph.d, Katedramateriálu a strojírenskétechnologie, Technickáfakulta,Českázemědělskáuniverzita v Praze,Kamýcká 129, Praha 6, 165 21

Dr. AmalaVijayaSelvi Rajan, B.sc,Ph.d, Faculty – Information Technology Dubai Women’s College – Higher Colleges of Technology,P.O. Box – 16062, Dubai, UAE

Naik Nitin AshokraoB.sc,M.Sc Lecturer in YeshwantMahavidyalayaNanded University Dr.A.Kathirvell, B.E, M.E, Ph.D,MISTE, MIACSIT, MENGG Professor - Department of Computer Science and Engineering,Tagore Engineering College, Chennai Dr. H. S. Fadewar B.sc,M.sc,M.Phil.,ph.d,PGDBM,B.Ed. Associate Professor - Sinhgad Institute of Management & Computer Application, Mumbai-BangloreWesternly Express Way Narhe, Pune - 41 Dr. David Batten Leader, Algal Pre-Feasibility Study,Transport Technologies and Sustainable Fuels,CSIRO Energy Transformed Flagship Private Bag 1,Aspendale, Vic. 3195,AUSTRALIA Dr R C Panda (MTech& PhD(IITM);Ex-Faculty (Curtin Univ Tech, Perth, Australia))Scientist CLRI (CSIR), Adyar, Chennai - 600 020,India Miss Jing He PH.D. Candidate of Georgia State University,1450 Willow Lake Dr. NE,Atlanta, GA, 30329 Jeremiah Neubert Assistant Professor,MechanicalEngineering,University of North Dakota Hui Shen Mechanical Engineering Dept,Ohio Northern Univ. Dr. Xiangfa Wu, Ph.D. Assistant Professor / Mechanical Engineering,NORTH DAKOTA STATE UNIVERSITY SeraphinChallyAbou Professor,Mechanical& Industrial Engineering Depart,MEHS Program, 235 Voss-Kovach Hall,1305 OrdeanCourt,Duluth, Minnesota 55812-3042 Dr. Qiang Cheng, Ph.D. Assistant Professor,Computer Science Department Southern Illinois University CarbondaleFaner Hall, Room 2140-Mail Code 45111000 Faner Drive, Carbondale, IL 62901 Dr. Carlos Barrios, PhD Assistant Professor of Architecture,School of Architecture and Planning,The Catholic University of America Y. BenalYurtlu Assist. Prof. OndokuzMayis University Dr. Lucy M. Brown, Ph.D. Texas State University,601 University Drive,School of Journalism and Mass Communication,OM330B,San Marcos, TX 78666 Dr. Paul Koltun Senior Research ScientistLCA and Industrial Ecology Group,Metallic& Ceramic Materials CSIRO Process Science & Engineering

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022 Dr.Sumeer Gul Assistant Professor,Department of Library and Information Science,University of Kashmir,India Dr. ChutimaBoonthum-Denecke, Ph.D Department of Computer Science,Science& Technology Bldg., Rm 120,Hampton University,Hampton, VA 23688

Dr. Renato J. Orsato Professor at FGV-EAESP,Getulio Vargas Foundation,São Paulo Business School,RuaItapeva, 474 (8° andar)01332-000, São Paulo (SP), Brazil Dr. Wael M. G. Ibrahim Department Head-Electronics Engineering Technology Dept.School of Engineering Technology ECPI College of Technology 5501 Greenwich Road - Suite 100,Virginia Beach, VA 23462 Dr. Messaoud Jake Bahoura Associate Professor-Engineering Department and Center for Materials Research Norfolk State University,700 Park avenue,Norfolk, VA 23504 Dr. V. P. Eswaramurthy M.C.A., M.Phil., Ph.D., Assistant Professor of Computer Science, Government Arts College(Autonomous), Salem-636 007, India. Dr. P. Kamakkannan,M.C.A., Ph.D ., Assistant Professor of Computer Science, Government Arts College(Autonomous), Salem-636 007, India. Dr. V. Karthikeyani Ph.D., Assistant Professor of Computer Science, Government Arts College(Autonomous), Salem-636 008, India. Dr. K. Thangadurai Ph.D., Assistant Professor, Department of Computer Science, Government Arts College ( Autonomous ), Karur - 639 005,India. Dr. N. Maheswari Ph.D., Assistant Professor, Department of MCA, Faculty of Engineering and Technology, SRM University, Kattangulathur, Kanchipiram Dt - 603 203, India. Mr. Md. Musfique Anwar B.Sc(Engg.) Lecturer, Computer Science & Engineering Department, Jahangirnagar University, Savar, Dhaka, Bangladesh. Mrs. Smitha Ramachandran M.Sc(CS)., SAP Analyst, Akzonobel, Slough, United Kingdom. Dr. V. Vallimayil Ph.D., Director, Department of MCA, Vivekanandha Business School For Women, Elayampalayam, Tiruchengode - 637 205, India. Mr. M. Moorthi M.C.A., M.Phil., Assistant Professor, Department of computer Applications, Kongu Arts and Science College, India PremaSelvarajBsc,M.C.A,M.Phil Assistant Professor,Department of Computer Science,KSR College of Arts and Science, Tiruchengode Mr. G. Rajendran M.C.A., M.Phil., N.E.T., PGDBM., PGDBF., Assistant Professor, Department of Computer Science, Government Arts College, Salem, India. Dr. Pradeep H Pendse B.E.,M.M.S.,Ph.d Dean - IT,Welingkar Institute of Management Development and Research, Mumbai, India Muhammad Javed Centre for Next Generation Localisation, School of Computing, Dublin City University, Dublin 9, Ireland Dr. G. GOBI Assistant Professor-Department of Physics,Government Arts College,Salem - 636 007 Dr.S.Senthilkumar Post Doctoral Research Fellow, (Mathematics and Computer Science & Applications),UniversitiSainsMalaysia,School of Mathematical Sciences, Pulau Pinang-11800,[PENANG],MALAYSIA. Manoj Sharma Associate Professor Deptt. of ECE, PrannathParnami Institute of Management & Technology, Hissar, Haryana, India RAMKUMAR JAGANATHAN Asst-Professor,Dept of Computer Science, V.L.B Janakiammal college of Arts & Science, Coimbatore,Tamilnadu, India Dr. S. B. Warkad Assoc. Professor, Priyadarshini College of Engineering, Nagpur, Maharashtra State, India

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022 Dr. Saurabh Pal Associate Professor, UNS Institute of Engg. & Tech., VBS Purvanchal University, Jaunpur, India

Manimala Assistant Professor, Department of Applied Electronics and Instrumentation, St Joseph’s College of Engineering & Technology, Choondacherry Post, Kottayam Dt. Kerala -686579 Dr. Qazi S. M. Zia-ul-Haque Control Engineer Synchrotron-light for Experimental Sciences and Applications in the Middle East (SESAME),P. O. Box 7, Allan 19252, Jordan Dr. A. Subramani, M.C.A.,M.Phil.,Ph.D. Professor,Department of Computer Applications, K.S.R. College of Engineering, Tiruchengode - 637215 Dr. SeraphinChallyAbou Professor, Mechanical & Industrial Engineering Depart. MEHS Program, 235 Voss-Kovach Hall, 1305 Ordean Court Duluth, Minnesota 558123042 Dr. K. Kousalya Professor, Department of CSE,Kongu Engineering College,Perundurai-638 052 Dr. (Mrs.) R. Uma Rani Asso.Prof., Department of Computer Science, Sri Sarada College For Women, Salem-16, Tamil Nadu, India. MOHAMMAD YAZDANI-ASRAMI Electrical and Computer Engineering Department, Babol"Noshirvani" University of Technology, Iran. Dr. Kulasekharan, N, Ph.D Technical Lead - CFD,GE Appliances and Lighting, GE India,John F Welch Technology Center,Plot # 122, EPIP, Phase 2,Whitefield Road,Bangalore – 560066, India. Dr. Manjeet Bansal Dean (Post Graduate),Department of Civil Engineering,Punjab Technical University,GianiZail Singh Campus,Bathinda -151001 (Punjab),INDIA Dr. Oliver Jukić Vice Dean for education,Virovitica College,MatijeGupca 78,33000 Virovitica, Croatia Dr. Lori A. Wolff, Ph.D., J.D. Professor of Leadership and Counselor Education,The University of Mississippi,Department of Leadership and Counselor Education, 139 Guyton University, MS 38677

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

Contents Arduino Support to Quorum Programming Language Through Cloud Computing ……...….…. [ 1081 ]

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

Arduino Support to Quorum Programming Language Through Cloud Computing Karan Sandam #1, Sanjyot Satvi *2, Oren D’cunha#3 # Department

of Information Technology, St. Francis Institute of Technology, Mumbai India 1 sandamkaran3030@student.sfit.ac.in 2 sanjyot.satvi242@student.sfit.ac.in

Abstract—

Quorum

programming

entirely on cloud. Thus users can program

language started out as a project aimed

Arduino boards using Quorum right in their

towards simplifying syntax to reduce

browser.

complexity in writing codes. Over the years

Keywords: arduino; cloud transpiler; cloud

it has evolved and now it supports audio

compiler;

processing,

language; web-app

basic

game

development,

LEGO robotics and more. As a result, quorum can now be used to teach programming in high schools and colleges

I.

docker;

programming;

quorum

INTRODUCTION Quorum

is

an

evidence-based

like. The aim of this paper is to allow

programming language, mainly designed to be

students to program Arduino boards using

accessible by everyone, in particular to

this language along with learning the

visually-impaired students. It aims to simplify

fundamentals of programming. This would

syntax while writing codes. Its applications

result in adding a new application area to

include

quorum. Our system transpiles (converts)

development etc. Academic curriculum laid

user submitted quorum code into logically

out by Quo- rum can be used by teachers to

equivalent Arduino code. It incorporates a

teach programming concepts to students. [1]

total of three web services developed

[2] As such we believe that the simplicity of

using NodeJS and Tornado, deployed

quorum

separately as containerized applications

technologies in collabo- ration while learning

over Heroku. Apart from this, MongoDB

the language itself. This encouraged us to

and Firebase Cloud Storage are used for

think about various possible areas which can

storing user details and files respectively.

be benefited from quorum.

This

design

asynchronous

allows and

us scalable

with

audio

can

processing,

be

used

to

basic

teach

game

other

an

system

1081

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

Arduino boards are one of the most widely

Transpilation is a process of converting a

used microcontrollers in embedded systems.

code in one high level language to another

It offers inherent advantages like being

high level language. Eg. Converting a code

inexpensive,

platform

written in Python to Java. This process

operation, is open-source and has extensible

involves converting the original source code

software and hardware. All these advantages

into some intermediary data structure which

allow Arduino to be used extensively in

captures all the essential features of the input

personal and industrial projects. Hence,

code

Arduino support for the Quorum programming

intermediary data structure to target language.

language was decided upon.

Abstract Syntax Trees(AST) are widely used

supports

cross

followed

by

conversion

of

this

as intermediary data structures due to their Cloud computing generally means storing and accessing data or programs over the

small size and easier interpretation than parse trees. [8]

internet. More specifically delivering computer services can be called cloud computing.

In this paper we present a transpiler for

Recent years have seen availability of all

converting Quorum into Arduino that functions

different types of compilers that are deployed

within a browser. In section II we provide a

online. Such compilers are widely found in

detailed description of all the components that

online programming contests, recruitment

make up the system followed by section III

platforms

which depicts

and

learning

platforms

alike.

how these components are

Basically these compilers work by spawning a

related and work in cohesion. System

compile command in a certain sandboxed

implementation is elaborated in section IV.

environ- ment returning output to the user.

Section V reviews the performance of the

Different organizations have incorporated

system and finally we conclude the paper

different architectures for their needs keeping

along with possible technical implementations

in mind the number of users that will be using

for increasing the performance and features.

the compiler, available resources, response

of section headings, document margins,

time and many other factors. Deploying

column width, column spacing and other

compilers over cloud increases the range of

features.

devices through which people can write programs while reducing the overhead of compiler maintenance. [10] [4]

1082

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022 II.

SYSTEM DESCRIPTION

combining values of the nodes with a predefined template of statements. Detailed

Quorum Compiler

A.

The Quorum compiler is packed as a jar file that needs to be invoked every time to compile

explanation of the transpilation is provided below.

a Quorum file. Just like other programming language

files,

quorum

files

end

with

extension .quorum. Apart from the compiler’s jar file, path to the standard library along with the user file and custom sensor libraries need to be passed in order to compile a quorum file. Thus the command to compile looks like: java

-jar

Quorum.jar

path/to/standard/libraries

-

-library compile

userfile.quorum LED.quorum IRED.quorum

Fig. 1. Working of Lexer and Parser The job of lexer is to identify words in the input stream and assign appropriate Tokens to

Quorum files after userfile.quorum are all

them. After assigning tokens, the parser reads

sensor based libraries written to help quorum

this sequence of tokens and generates a

identify new functions and classes added to

parse tree containing all the information of the

support arduino.

input line of code.

B.

Quorum to Arduino Transpiler The quorum to Arduino transpiler consists of

4 main files viz. lexer, parser, listener and actual transpiler itself with additional handler file to facilitate the process of transpilation. The lexer reads the quorum files and generates a stream of tokens which the parser reads to generate a parse tree. Listener contains functions that are invoked when traversing the parse tree. These functions are modified so as to generate another tree that stores all the minimal information needed for transpilation. The transpiler file then reads this newly generated tree and converts them by

1083

Tokens and parser rules are specified in the grammar file. ANTLR4 reads this file and generates lexer, Parser and other necessary files. Another important file that is generated is the listener. It is used to traverse the parse tree. While traversing the parse tree, a new tree is generated which serves as an intermediate

data

structure

for

code

conversion. This new tree captures only essential information and is more compact than a parse tree.

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

followed by copying of all the required source files while building the image.

Heroku

D.

Heroku is a Platform-as-a-Service(PaaS) cloud service provider. With support for Fig. 2. Conversion of Parse Tree into

multiple languages, a wide range of add-ons,

Transpiled code

ease in deploying and scaling are some of the features that make Heroku a top choice

For each of the syntax, keywords and

among

organizations

and

individual

possible statements of quorum, corresponding

developers. Its free tier provides all the

mapping is written in Arduino. The transpiler

necessary requirements for deploying all our

looks up these mappings while reading the

apps viz. Ui handler, compiler and transpiler.

new tree and applies appropriate substitution

The UI handler is deployed simply as a

to all the nodes to generate the converted

webapp while the other two are containerized. To ease the process of development and

code.

deployment, both transpiler and compiler are C.

part

Docker Container Containers can be thought of as a package

which contains the app itself bundled with all its

dependencies

and

its

execution

environment. This allows greater portability, as these containers can be executed on any machine with a Docker engine. Containers are

of

the

Corresponding

same

production

github

pipeline.

repositories

are

attached to them and environment variables are configured separately. Each app runs on a standard web dyno. III.

SYSTEM ARCHITECTURE

The

system

follows

the

Client-Server

lightweight as compared to traditional virtual

architecture and is heavily inspired by the

machines and are more secure than VMs due

designs presented in papers[4] and [5]. Login,

to tighter and more sandboxed environments.

UI and file storing functionalities are handled

Our docker containers for both compiler and

by the NodeJS server. For Signup and Login,

transpiler are derived from base ubuntu

user data is updated and fetched from the

image. With the help of Dockerfile Python,

MongoDB database. Post signup/login user is

Java and other dependencies are installed

presented with a text-editor with certain other features that aid him in writing code. After

1084

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

clicking on save, the file is saved to Firebase

result area which shows errors or converted

Cloud storage. Afterwards the user can click

code accordingly.

Compile. The NodeJS server then sends a

B.

request to the compiler server asking for the particular file to be compiled. The compile server downloads the file and compiles it. Results are sent back to the user. Similarly, after clicking Transpile, a request is made to the

transpile

server.

It

downloads and

proceeds to transpilation. Errors if any or converted code are then sent back to calling NodeJS server. Both the compile and transpile

Quorum Compiler For each compile request a new subprocess

is spawned. The terminal output of this process is checked and formatted to be sent back to the user. Sensitive information if any is removed from the response. If the compilation process is successful the compiler outputs Build Successful, else a list of errors along with line number and description is displayed.

servers delete the file on completion of the request. All the communication between the servers takes place in JSON.

C.

Quorum Transpiler Unlike the compiler, the transpiler is

designed to only send results. If any errors are encountered they are simply ignored. This may lead to erroneous output. But the possibilities

of

errors

arising

during

transpilation are quite low, since the compiler has already checked the files. All the quorum files need to follow the below structure

Fig. 3. System Diagram

for

successful

and

correct

compilation. ● Names of sensor libraries that will be

IV. IMPLEMENTATION A.

used followed by class declaration ● Inside

User Interface User interface consists of a general purpose

text editor. An option to upload files is also provided. Before saving it is mandatory that the user sets the name of the file without any extension. Finally at the bottom there is a

1085

the

class

begins

with

instantiation of libraries that will be used . ● Proceed

with

action

Main()

and

configure pins using respective sensor methods.

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

● End

the

method

and

class

with

keyboard “end”

● Tree that holds all constant values ● Tree that holds setup part ● Tree that holds loop part The Constant tree has one node, which

Consider the below code snippet as an

means in the input code one variable was

example.

identified which could be made a constant in arduino code. That variable has a value of 12

Use BUTTON

and its name is “btn”.

class MyClass .

In the Setup tree there is a node which

BUTTON btn

makes use of the library “Button”. Instance

action Main()

associated with it is “btn” and serves as an

btn : pinBTN(12) integer

a

=

“input” to the arduino. btn

:

STATE()

Similarly in the Loop tree there are 2 important nodes. The last two nodes represent

output a

end keyword mark end of Main function and

end

class respectively. The first node is named as

end

“dNa” which in code means Declaration and Assignment. Furthermore this node tells that

It uses the custom Button library. An

there is a variable named “a” of integer

instance of button is connected at pin 12, and

datatype who is assigned a value which is

its value is read into integer a.

returned from a function named STATE,

For the above provided quorum code, the

associated with instance btn. Second node

transpiler generates the following Intermediate

has its name set to output which tells it to print

Tree:

out a value. Variable that needs to be printed is a. Internally, different types of node names are assigned as per various syntax available in quorum. Each line is represented as a node and different nodes hold different properties as per their needs. These nodename properties assigned

Fig. 4. Intermediate Tree Data Structure

to

nodes

help

in

identifying

appropriate Quorum-to-Arduino statements. The statements are like templates in which the

Above figure has three different trees

1086

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

transpiler finds and fills values from input

complexity

code.

syntaxes which the transpiler is able to convert

For the mentioned quorum code, the transpiler produced following output:

involved

all

types

of

were used as input. The graphs have file number on

const int btn = 12

which

x-axis and time

taken for

compilation/transpilation of that file on y-axis.

void setup ( ) {

Dyno provided by Heroku for both these

\tpin Mode( btn , INPUT ) ;

apps is Free type and is allocated a total of

\tSerial.begin( 9600 ) ;

512MB of RAM and CPU share of 1x each.

}void

The Dyno sleeps after 30 minutes of inactivity.

loop ( ) {

\tint a = digitalRead ( btn ) ;

Time taken to restart the dyno after it has been

\ t Serial.println( a ) ;

asleep is not considered here.

} TABLE I The transpiler prepends tabs according to

SUMMARY OF INPUT FILES

the level of blocks. When using conditionals, the block level is increased by one, hence the number of tabs are incremented by 1 as

File Lines

If..else

Libraries

blocks Used

Instan Level tiated

compared to the previous line. When moving

1

8

1

0

0

Basic

out of conditionals the block level is decreased

2

9

0

1

1

Basic

and the number of tabs decremented by one.

3

9

0

1

1

Basic

For- matting code on transpiler side, reduces

4

10

0

1

1

Basic

overhead on UI side. Hence the result can be

5

9

0

1

1

Basic

displayed directly.

6

11

1

0

0

Medium

7

17

2

2

2

Medium

8

13

1

1

1

Medium

9

19

1

1

2

Medium

10

17

1

2

2

Medium

11

31

2

3

4

Advanced

12

30

2

3

4

Advanced

For measuring the performance of the

13

30

2

2

4

Advanced

system the compilation and transpilation time

14

36

3

3

5

Advanced

were measured on a local computer and

15

42

4

3

5

Advanced

V.

RESULTS AND ANALYSIS

system after it was deployed completely on cloud.

Fifteen

different

files

of

varying

1087

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

Table 1 gives a summary of the input files used for benchmarking the system, followed by plots. Each of the files was processed 5 times and corresponding times were noted. Average of these 5 times was taken and plotted. The graphs for average of local and online compile time look similar in nature but differ in scale. While on the local computer, all files were compiled in less than 1 second, the same files took more than 6 seconds online. There

Fig. 5. Average Local Compile Time(in seconds)

seems to be no clear relation between time for compilation and complexity of lines but the resources allocated during compilation seem to

be

the

factor

determining

time

for

compilation. Similar to the compilation case, the nature of graphs for transpilation on local and online seem to close. Interestingly the time difference between them is also not huge. Thing to note is that as the number of lines, libraries and

Fig. 6. Average Online Compile Time(in

complexity of the code increases the time

seconds)

taken to transpile increases, which is evident from both the graphs. So, alinear relation between transpilation time and complexity of code exists.

Fig.7. Average Local Transpile Time(in seconds)

1088

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

by allowing students to program Arduino boards. Deploying it over cloud allows everyone to access it and can be easily incorporated

in

teaching

methodologies.

Modular separation of storage, UI handler and actual compiler/transpiler allows a system that is easily scalable as per requirements. It also increases system reliability as any failures in Fig. 8. Average Online Transpile Time(in seconds)

that module only. The limited flexibility in the quorum syntax that we have implemented can

The difference in scales of graphs and linear relation between transpile time and complexity suggests

the system are localized and contained within

that

there

are

rooms

for

improvement of the system. Following things can be further incorporated to do so: ● Upgrading to better Dyno type on Heroku ● Switching to another Cloud Service Provider that provides more resources ● Making grammar rules more efficient to remove redundancies and eliminating rules that will never be used ● Writing the transpiler in some other

be increased to support more data types and control structures. At the same time transpiler efficiency can be increased and libraries to handle

other

sensors

can

be

added.

Responsiveness of the system in case of multiple users can be decreased by following a more asynchronous approach in which multiple operations like file fetching and formatting,

compiling,

etc

belonging

to

different requests can be processed parallely. Finally cloud security services can be placed throughout the system to prevent cloud software abuse.

language faster than python ● Modifying

the

way

in

which

the

transpiler is deployed over cloud. Other methods of deployment can be studied and implemented. VI.

CONCLUSION AND FUTURE WORK

We developed the system with an aim to bridge the gap between quorum and Arduino

1089

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

REFERENCES

15th

[1] Programming Languages and Learning –

Information Technol- ogy Based Higher

Quorum

Program-

ming

International

Education

Language,

and

Conference Training

Quorum Language. [Online]. Available:

2016,Available:

https://quorumlanguage.com/evidence.ht

10.1109/ithet.2016.7760742

[2] Andreas Stefik, Susanna Siebert, Melissa Kim

Slattery,

(ITHET),

[7] M. Varma Nandimandalam and E. Choi,

ml. [Accessed:10- Jan- 2020]. Stefik,

on

”An

Empirical

”Comparison

of

Open-Source

Architectural

Components”,

PAAS

Computer

Comparison of the Accuracy Rates of

Science & Information Technology ( CS &

Novices using the Quorum, Perl, and

IT

Randomo

10.5121/csit.2016.60206

Programming

Languages”,

Online ISSN: ”Arduino - Introduction,”

),

2016,Available:

[8] J. Kim and Y. Lee, ”A Study on Abstract

Arduino.cc.

Syntax Tree for Develop- ment of a

[Online]Available:https:https://www.arduin

JavaScript

o.cc/en/Main/FAQ#toc1

Journal of Grid and Distributed Computing

[3] ”Arduino

-

Introduction,”

http://dx.doi.org/

Available:

https:https://www.arduino.cc/en/Main/FA

International

, vol. 11, no. 6, pp. 37-48, 2018. Available:

Arduino.cc.

[Online]

Compiler”,

[9]

M. Hossain, R. Rahman, M. Islam and M. Azam, ”A Study on Language Processing

Q#toc1 [4] Ketan Kardile, Pradnya Punde, Kritika

Policies in Compiler Design”, American

Pareek, ”A Survey on Online Cloud based

Journal of Engineering Research (AJER) ,

Compiler”,

vol. 8, no. 12, 20

International

Journal

of

Innovative Research in Computer and Communication

Engineering,

Online

ISSN: 2320-9801, 15 MAY 2017 [5] Taher Ahmed Ghaleb, ”Toward opensource

compilers

environment:

the

challenges”,

Open

in

a

need

cloud-based and

Source

current Software

Computing (OSSCOM) 2015 International Conference,pp. 1-6, 2015. [6] T. Mohammed and M. Hamada, ”A cloudbased Java compiler for smart devices”,

1090

www.ijitce.co.uk


INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGY AND CREATIVE ENGINEERING (ISSN:2045-8711) VOL.12 NO.02 FEB 2022

1091

www.ijitce.co.uk


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.